<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 154  文章 - 60  trackbacks - 0
    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    聲明:

    該blog是為了收集資料,認識朋友,學習、提高技術,所以本blog的內容除非聲明,否則一律為轉載!!

    感謝那些公開自己技術成果的高人們!!!

    支持開源,尊重他人的勞動!!

    常用鏈接

    留言簿(3)

    隨筆分類(148)

    隨筆檔案(143)

    收藏夾(2)

    其他

    學習(技術)

    觀察思考(非技術)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    代碼:
    import java.security.*;
    import javax.crypto.*;
    public class Crypt {

      
    private static String Algorithm="DES"//定義 加密算法,可用 DES,DESede,Blowfish

      
    static boolean debug = false;

      
    static{
        Security.addProvider(
    new com.sun.crypto.provider.SunJCE());
      }


      
    //生成密鑰, 注意此步驟時間比較長
      public static byte[] getKey() throws Exception{
        KeyGenerator keygen 
    = KeyGenerator.getInstance(Algorithm);
        SecretKey deskey 
    = keygen.generateKey();
        
    if (debug)
          System.out.println(
    "生成密鑰:"+byte2hex(deskey.getEncoded()));
        
    return deskey.getEncoded();
      }


      
    //加密
      public static byte[] encode(byte[] input,byte[] key) throws Exception{
        SecretKey deskey 
    = new javax.crypto.spec.SecretKeySpec(key,Algorithm);
        
    if (debug){
          System.out.println(
    "加密前的二進串:"+byte2hex(input));
          System.out.println(
    "加密前的字符串:"+new String(input));
        }

        Cipher c1 
    = Cipher.getInstance(Algorithm);
        c1.init(Cipher.ENCRYPT_MODE,deskey);
        
    byte[] cipherByte=c1.doFinal(input);
        
    if (debug)
          System.out.println(
    "加密后的二進串:"+byte2hex(cipherByte));
        
    return cipherByte;
      }


      
    //解密
      public static byte[] decode(byte[] input,byte[] key) throws Exception{
        SecretKey deskey 
    = new javax.crypto.spec.SecretKeySpec(key,Algorithm);
        
    if (debug)
          System.out.println(
    "解密前的信息:"+byte2hex(input));
        Cipher c1 
    = Cipher.getInstance(Algorithm);
        c1.init(Cipher.DECRYPT_MODE,deskey);
        
    byte[] clearByte=c1.doFinal(input);
        
    if (debug){
          System.out.println(
    "解密后的二進串:"+byte2hex(clearByte));
          System.out.println(
    "解密后的字符串:"+(new String(clearByte)));
        }

        
    return clearByte;
      }


      
    //md5()信息摘要, 不可逆
      public static byte[] md5(byte[] input) throws Exception{
        java.security.MessageDigest alg
    =java.security.MessageDigest.getInstance("MD5"); //or "SHA-1"
        if (debug){
          System.out.println(
    "摘要前的二進串:"+byte2hex(input));
          System.out.println(
    "摘要前的字符串:"+new String(input));
        }

        alg.update(input);
        
    byte[] digest = alg.digest();
        
    if (debug)
          System.out.println(
    "摘要后的二進串:"+byte2hex(digest));
        
    return digest;
      }


      
    //字節碼轉換成16進制字符串
      public static String byte2hex(byte[] b) {
        String hs
    ="";
        String stmp
    ="";
        
    for (int n=0;n<b.length;n++){
          stmp
    =(java.lang.Integer.toHexString(b[n] & 0XFF));
          
    if (stmp.length()==1)
            hs
    =hs+"0"+stmp;
          
    else hs=hs+stmp;
            
    if (n<b.length-1)  
                hs
    =hs+":";
          }

    //      System.out.println("hs="+hs);
        return hs.toUpperCase();
      }


      
    public static void main(String[] args) throws Exception{
        debug 
    = true;
    //    byte[] key = getKey();
        byte[] key = "好好學習".getBytes();
        decode(encode(
    "測試加密".getBytes(),key),key);
    //    md5("測試加密".getBytes());
        md5("A".getBytes());
      }

    }
    posted on 2008-04-14 16:14 lk 閱讀(776) 評論(0)  編輯  收藏 所屬分類: j2se
    主站蜘蛛池模板: 亚洲va在线va天堂成人| 亚洲欧美不卡高清在线| 18女人毛片水真多免费| 亚洲av永久无码一区二区三区| 国产成人无码区免费网站| 成全视频免费高清| 亚洲国产二区三区久久| 久久久久精品国产亚洲AV无码| h视频免费高清在线观看| 男女免费观看在线爽爽爽视频| 日韩电影免费在线观看| 成人影片一区免费观看| 成人一a毛片免费视频| 24小时日本在线www免费的| 国产成人免费手机在线观看视频| 亚洲高清视频免费| 免费在线观看亚洲| 黄色a级免费网站| 亚洲国产精品无码久久九九大片| 亚洲一级免费视频| 亚洲av无码精品网站| 国产亚洲精品欧洲在线观看| 色猫咪免费人成网站在线观看| 国产永久免费高清在线| 亚洲人成无码网WWW| 亚洲精品无码久久久影院相关影片| CAOPORM国产精品视频免费| 亚洲精品天堂成人片?V在线播放| 美女扒开尿口给男人爽免费视频| 亚洲av无码专区在线观看素人| 亚洲午夜久久久精品电影院| 久久精品私人影院免费看| va亚洲va日韩不卡在线观看| 亚洲av色香蕉一区二区三区| 国产精品99久久免费| 久久亚洲精品成人综合| a级毛片免费观看视频| 亚洲Av无码专区国产乱码DVD| 亚洲电影唐人社一区二区| 日韩欧美一区二区三区免费观看| 亚洲aⅴ无码专区在线观看春色 |