<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是為了收集資料,認(rèn)識(shí)朋友,學(xué)習(xí)、提高技術(shù),所以本blog的內(nèi)容除非聲明,否則一律為轉(zhuǎn)載??!

    感謝那些公開自己技術(shù)成果的高人們!?。?/p> 支持開源,尊重他人的勞動(dòng)!!

    常用鏈接

    留言簿(3)

    隨筆分類(148)

    隨筆檔案(143)

    收藏夾(2)

    其他

    學(xué)習(xí)(技術(shù))

    觀察思考(非技術(shù))

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    代碼:
    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());
      }


      
    //生成密鑰, 注意此步驟時(shí)間比較長(zhǎng)
      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(
    "加密前的二進(jìn)串:"+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(
    "加密后的二進(jìn)串:"+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(
    "解密后的二進(jìn)串:"+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(
    "摘要前的二進(jìn)串:"+byte2hex(input));
          System.out.println(
    "摘要前的字符串:"+new String(input));
        }

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


      
    //字節(jié)碼轉(zhuǎn)換成16進(jìn)制字符串
      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 = "好好學(xué)習(xí)".getBytes();
        decode(encode(
    "測(cè)試加密".getBytes(),key),key);
    //    md5("測(cè)試加密".getBytes());
        md5("A".getBytes());
      }

    }
    posted on 2008-04-14 16:14 lk 閱讀(766) 評(píng)論(0)  編輯  收藏 所屬分類: j2se
    主站蜘蛛池模板: rh男男车车的车车免费网站| 亚洲福利精品电影在线观看| 中国videos性高清免费| 亚洲熟妇AV一区二区三区浪潮 | 亚洲精品免费在线观看| 国产一级淫片免费播放电影| 中文字幕乱码免费视频| 免费人成在线观看网站| 一级毛片在线免费视频| 麻豆安全免费网址入口| 亚洲乱码av中文一区二区| 亚洲一区在线观看视频| 十九岁在线观看免费完整版电影| 男女超爽视频免费播放| 亚洲国产综合AV在线观看| 亚洲av无码片在线观看| 久久精品国产亚洲精品2020| 亚洲精品国产成人片| 色噜噜亚洲精品中文字幕| 亚洲а∨天堂久久精品| 国产精品国产免费无码专区不卡 | 亚洲精品在线免费观看| 亚洲电影国产一区| 亚洲va久久久噜噜噜久久狠狠| 亚洲综合色在线观看亚洲| 亚洲国产精品综合久久网络| 免费在线黄色网址| 亚洲精品国产精品乱码不卡| 亚洲第一黄色网址| 亚洲国产一区二区三区| 亚洲美女高清一区二区三区| 久久久久亚洲AV无码专区桃色| 免费国产成人高清在线观看麻豆 | 亚洲av永久中文无码精品综合 | 国产成人免费手机在线观看视频 | 亚洲成A∨人片在线观看无码| 亚洲毛片免费观看| 亚洲最大的黄色网| 亚洲日韩中文字幕一区| 亚洲av成本人无码网站| 亚洲精品国产手机|