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

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

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

    blog.Toby

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks

    /**
     * Created by IntelliJ IDEA.
     * User: Administrator
     * Date: 2006-2-16
     * Time: 14:33:57
     * To change this template use File | Settings | File Templates.
     */
    /*
    字符串 DESede(3DES) 加密
    */
    import java.security.*;
    import javax.crypto.*;
    import javax.crypto.spec.SecretKeySpec;

    public class Test3Des {

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

        //keybyte為加密密鑰,長度為24字節
        //src為被加密的數據緩沖區(源)
        public static byte[] encryptMode(byte[] keybyte, byte[] src) {
           try {
                //生成密鑰
                SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);

                //加密
                Cipher c1 = Cipher.getInstance(Algorithm);
                c1.init(Cipher.ENCRYPT_MODE, deskey);
                return c1.doFinal(src);
            } catch (java.security.NoSuchAlgorithmException e1) {
                e1.printStackTrace();
            } catch (javax.crypto.NoSuchPaddingException e2) {
                e2.printStackTrace();
            } catch (java.lang.Exception e3) {
                e3.printStackTrace();
            }
            return null;
        }

        //keybyte為加密密鑰,長度為24字節
        //src為加密后的緩沖區
        public static byte[] decryptMode(byte[] keybyte, byte[] src) {
     try {
                //生成密鑰
                SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);

                //解密
                Cipher c1 = Cipher.getInstance(Algorithm);
                c1.init(Cipher.DECRYPT_MODE, deskey);
                return c1.doFinal(src);
            } catch (java.security.NoSuchAlgorithmException e1) {
                e1.printStackTrace();
            } catch (javax.crypto.NoSuchPaddingException e2) {
                e2.printStackTrace();
            } catch (java.lang.Exception e3) {
                e3.printStackTrace();
            }
            return null;
        }

        //轉換成十六進制字符串
        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+":";
            }
            return hs.toUpperCase();
        }

        public static void main(String[] args)
        {
            //添加新安全算法,如果用JCE就要把它添加進去
            Security.addProvider(new com.sun.crypto.provider.SunJCE());

            final byte[] keyBytes = {0x11, 0x22, 0x4F, 0x58, (byte)0x88, 0x10, 0x40, 0x38
                                   , 0x28, 0x25, 0x79, 0x51, (byte)0xCB, (byte)0xDD, 0x55, 0x66
                                   , 0x77, 0x29, 0x74, (byte)0x98, 0x30, 0x40, 0x36, (byte)0xE2}; //24字節的密鑰
            String szSrc = "my name is Sidney.";

            System.out.println("加密前的字符串:" + szSrc);

            byte[] encoded = encryptMode(keyBytes, szSrc.getBytes());
            System.out.println("加密后的字符串:" + new String(encoded));

            byte[] srcBytes = decryptMode(keyBytes, encoded);
            System.out.println("解密后的字符串:" + (new String(srcBytes)));
        }
    }

     

    posted on 2006-02-16 14:45 渠上月 閱讀(5121) 評論(1)  編輯  收藏 所屬分類: java tips

    評論

    # re: Java中3DES加密解密調用示例(來自網絡)[未登錄] 2008-07-28 14:52 Tom
    謝謝了,正需要用!  回復  更多評論
      

    主站蜘蛛池模板: 久久WWW免费人成—看片| 亚洲国产AV无码一区二区三区| yellow视频免费看| 四虎永久在线免费观看| 亚洲久热无码av中文字幕| 巨胸喷奶水视频www网免费| 亚洲欧美成人综合久久久| 成人免费毛片内射美女APP| 亚洲乱码一二三四区乱码| 久久久久久99av无码免费网站 | 在线看片人成视频免费无遮挡| 亚洲成a人片在线不卡| 毛片免费观看网站| 在线观看亚洲AV每日更新无码| 午夜小视频免费观看| 天天综合亚洲色在线精品| 亚洲精品国产精品乱码不卞| 久久久久女教师免费一区| 久久国产亚洲电影天堂| 成人免费黄色网址| 亚洲AV无码精品国产成人| 亚洲中文字幕无码专区| 久久精品电影免费动漫| 亚洲一级毛片视频| 国产精品无码素人福利免费| 无遮挡免费一区二区三区| 亚洲国产成人一区二区三区| 久久一区二区三区免费播放| 亚洲一区二区三区四区视频| 四虎永久精品免费观看| 久久最新免费视频| 亚洲乱码卡一卡二卡三| 亚洲国产一成久久精品国产成人综合 | 国产精品亚洲专区无码不卡| 亚洲精品国产成人影院| 久久久免费精品re6| 亚洲无人区码一二三码区别图片| 亚洲日本中文字幕天堂网| 99久久免费观看| 韩国亚洲伊人久久综合影院| 亚洲AV无码第一区二区三区|