隨筆 - 5, 文章 - 0, 評論 - 1, 引用 - 0
          數據加載中……

          2007年3月15日

          Java控制臺輸入,輸出

          import?java.io.BufferedReader;?
          import?java.io.IOException;?
          import?java.io.InputStreamReader;?

          public?class?EnterConsole?
          {?
          public?static?void?main(String[]?args)?throws?IOException?
          {?
          EnterConsole?enterConsole?=?new?EnterConsole();?
          enterConsole.printConsoleChar();?
          }?
          /**?
          *?從控制對接收一行字符串,然后輸出到控制臺?
          *?@throws?IOException?
          */?
          public?void?printConsoleLine()?throws?IOException?
          {?
          BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(System.in));?
          String?str?=?null;?
          System.out.println("Enter?your?value:");?
          str?=?br.readLine();?
          System.out.println("your?value?is?:"+str);?
          }?
          /**?
          *?從控制臺接收一個字符?
          *?然后打印到控制臺上?
          *?@throws?IOException?
          */?
          public?void?printConsoleChar()?throws?IOException?
          {?
          System.out.print("Enter?a?Char:");?
          char?i?=?(char)?System.in.read();?
          System.out.println("your?char?is?:"+i);?
          }?
          }

          posted @ 2007-03-29 18:36 黑馬_2046 閱讀(650) | 評論 (0)編輯 收藏

          DES算法簡單例程

          2.4 DES算法簡介
          DES即分組加密算法,明文密文都使用64位數據分組;采用對稱算法,加密和解密算法相同,但是使用的密鑰不同,密鑰使用56位數;由于算法只使用了簡單的數據邏輯和算術運算,所以實現起來相對簡單。本文就使用DES算法來給出一個加解密工具類。
          3.java 實現的對字符串加解密工具類
          import java.io.*;
          import javax.crypto.*;
          import javax.crypto.spec.*;
          import java.security.*;
          import java.security.spec.*;
          import com.sun.crypto.provider.SunJCE;
          import java.io.Serializable;

          /**
          * 提供加密算法,可以對輸入的字符串進行加密、解密操作
          */
          public class EncryptData
          {
          byte[] encryptKey;
          DESedeKeySpec spec;
          SecretKeyFactory keyFactory;
          SecretKey theKey;
          Cipher cipher;
          IvParameterSpec IvParameters;

          public EncryptData()
          {
          try
          {
          // 檢測是否有 TripleDES 加密的供應程序
          // 如無,明確地安裝SunJCE 供應程序
          try{ Cipher c = Cipher.getInstance("DESede"); }
          catch (Exception e)
          {
          System.err.println("Installling SunJCE provider.");
          Provider sunjce = new com.sun.crypto.provider.SunJCE();
          Security.addProvider(sunjce);
          }
          // 創建一個密鑰
          encryptKey = "This is a test DESede Key".getBytes();

          // 為上一密鑰創建一個指定的 DESSede key
          spec = new DESedeKeySpec(encryptKey);

          // 得到 DESSede keys
          keyFactory = SecretKeyFactory.getInstance("DESede");

          // 生成一個 DESede 密鑰對象
          theKey = keyFactory.generateSecret(spec);

          // 創建一個 DESede 密碼
          cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");

          // 為 CBC 模式創建一個用于初始化的 vector 對象
          IvParameters =
          new IvParameterSpec(new byte[]{12,34,56,78,90,87,65,43} );
          }
          catch (Exception exc)
          {
          // 記錄加密或解密操作錯誤
          }
          }

          /**
          * 加密算法
          * @param password 等待加密的密碼
          * @return 加密以后的密碼
          * @throws Exception
          */
          public byte[] encrypt(String password)
          {
          String encrypted_password = null;
          byte[] encrypted_pwd = null;

          try
          {
          // 以加密模式初始化密鑰
          cipher.init(Cipher.ENCRYPT_MODE,theKey,IvParameters);

          // 加密前的密碼(舊)
          byte[] plainttext = password.getBytes();

          // 加密密碼
          encrypted_pwd = cipher.doFinal(plainttext);

          // 轉成字符串,得到加密后的密碼(新)
          encrypted_password = new String(encrypted_pwd);
          }
          catch(Exception ex)
          {
          // 記錄加密錯誤
          }
          return encrypted_pwd;
          }

          /**
          * 解密算法
          * @param password 加過密的密碼
          * @return 解密后的密碼
          */
          public String decrypt(byte[] password)
          {
          String decrypted_password = null;
          try
          {
          // 以解密模式初始化密鑰
          cipher.init(Cipher.DECRYPT_MODE,theKey,IvParameters);

          // 構造解密前的密碼
          byte[] decryptedPassword = password;

          // 解密密碼
          byte[] decrypted_pwd = cipher.doFinal(decryptedPassword);
          // 得到結果
          decrypted_password = new String(decrypted_pwd);
          }
          catch(Exception ex)
          {
          // 記錄解密錯誤
          }
          return decrypted_password;
          }
          }

          posted @ 2007-03-28 13:17 黑馬_2046 閱讀(851) | 評論 (1)編輯 收藏

          cas asp客戶端

               摘要: < html > < header > <% @?Language = JScript? %> ...  閱讀全文

          posted @ 2007-03-23 17:21 黑馬_2046 閱讀(2437) | 評論 (0)編輯 收藏

          用JSSE定制SSL連接(轉)

               摘要: ssl  閱讀全文

          posted @ 2007-03-15 22:31 黑馬_2046 閱讀(500) | 評論 (0)編輯 收藏

          使用SSL構建安全的Socket(轉)

               摘要: ssl  閱讀全文

          posted @ 2007-03-15 21:15 黑馬_2046 閱讀(1048) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 合作市| 新竹市| 策勒县| 墨江| 凤庆县| 武陟县| 龙山县| 彭山县| 营口市| 射阳县| 千阳县| 陇西县| 丹东市| 土默特左旗| 宾川县| 毕节市| 仪陇县| 田东县| 长兴县| 五台县| 改则县| 儋州市| 赣榆县| 连山| 堆龙德庆县| 五台县| 罗定市| 运城市| 连州市| 太谷县| 沅陵县| 甘德县| 治县。| 贵南县| 商都县| 通榆县| 如东县| 陈巴尔虎旗| 平塘县| 大埔区| 沧州市|