隨筆 - 5, 文章 - 0, 評論 - 1, 引用 - 0
          數(shù)據(jù)加載中……

          2007年3月23日

          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 閱讀(651) | 評論 (0)編輯 收藏

          DES算法簡單例程

          2.4 DES算法簡介
          DES即分組加密算法,明文密文都使用64位數(shù)據(jù)分組;采用對稱算法,加密和解密算法相同,但是使用的密鑰不同,密鑰使用56位數(shù);由于算法只使用了簡單的數(shù)據(jù)邏輯和算術(shù)運算,所以實現(xiàn)起來相對簡單。本文就使用DES算法來給出一個加解密工具類。
          3.java 實現(xiàn)的對字符串加解密工具類
          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);
          }
          // 創(chuàng)建一個密鑰
          encryptKey = "This is a test DESede Key".getBytes();

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

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

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

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

          // 為 CBC 模式創(chuàng)建一個用于初始化的 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);

          // 轉(zhuǎn)成字符串,得到加密后的密碼(新)
          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);

          // 構(gòu)造解密前的密碼
          byte[] decryptedPassword = password;

          // 解密密碼
          byte[] decrypted_pwd = cipher.doFinal(decryptedPassword);
          // 得到結(jié)果
          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 閱讀(2438) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 怀柔区| 东明县| 荆门市| 壤塘县| 开江县| 庆元县| 神木县| 英超| 福鼎市| 凤冈县| 抚松县| 利辛县| 安溪县| 青岛市| 龙泉市| 睢宁县| 海伦市| 万荣县| 离岛区| 长治县| 根河市| 昌黎县| 灵台县| 资兴市| 松阳县| 宜良县| 沁阳市| 应用必备| 泾阳县| 抚远县| 六枝特区| 洮南市| 增城市| 台南县| 涟水县| 忻城县| 若尔盖县| 彰化市| 兖州市| 米易县| 仁寿县|