锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久婷婷国产精品综合,欧美大片免费久久精品三p,日韩三级.comhttp://www.aygfsteel.com/badpeas/category/35608.html鍕ゅ嫟鎭蟲伋鍐欎唬鐮?/description>zh-cnWed, 29 Oct 2008 06:56:47 GMTWed, 29 Oct 2008 06:56:47 GMT60鈽?鍦↗ava涓嬌鐢―ES鍔犲瘑瑙e瘑綆楁硶http://www.aygfsteel.com/badpeas/articles/237365.html濉斿濉斿Wed, 29 Oct 2008 05:28:00 GMThttp://www.aygfsteel.com/badpeas/articles/237365.htmlhttp://www.aygfsteel.com/badpeas/comments/237365.htmlhttp://www.aygfsteel.com/badpeas/articles/237365.html#Feedback0http://www.aygfsteel.com/badpeas/comments/commentRss/237365.htmlhttp://www.aygfsteel.com/badpeas/services/trackbacks/237365.htmlimport javax.crypto.*;
import javax.crypto.spec.DESKeySpec;

import java.security.NoSuchAlgorithmException;
import java.security.InvalidKeyException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;

/**
* 閫氳繃DES鍔犲瘑瑙e瘑瀹炵幇涓涓猄tring瀛楃涓茬殑鍔犲瘑鍜岃В瀵?
*
* @author badpeas
*
*/
public class EncryptDecryptData {

    public static void main(String[] args) throws NoSuchAlgorithmException,
            InvalidKeyException, NoSuchPaddingException,
            InvalidKeySpecException, IllegalBlockSizeException,
            BadPaddingException {
        // 1.1 >>> 棣栧厛瑕佸垱寤轟竴涓瘑鍖?br />         // DES綆楁硶瑕佹眰鏈変竴涓彲淇′換鐨勯殢鏈烘暟婧?br />         SecureRandom sr = new SecureRandom();
        // 涓烘垜浠夋嫨鐨凞ES綆楁硶鐢熸垚涓涓狵eyGenerator瀵硅薄
        KeyGenerator kg = KeyGenerator.getInstance("DES");
        kg.init(sr);
        // 鐢熸垚瀵嗗寵
        SecretKey key = kg.generateKey();
        // 鑾峰彇瀵嗗寵鏁版嵁
        byte rawKeyData[] = key.getEncoded();
        System.out.println("瀵嗗寵===>" + rawKeyData);

        String str = "hi.baidu.com/badpeas"; // 寰呭姞瀵嗘暟鎹?br />         // 2.1 >>> 璋冪敤鍔犲瘑鏂規硶
        byte[] encryptedData = encrypt(rawKeyData, str);
        // 3.1 >>> 璋冪敤瑙e瘑鏂規硶
        decrypt(rawKeyData, encryptedData);
    }

    /**
    * 鍔犲瘑鏂規硶
    *
    * @param rawKeyData
    * @param str
    * @return
    * @throws InvalidKeyException
    * @throws NoSuchAlgorithmException
    * @throws IllegalBlockSizeException
    * @throws BadPaddingException
    * @throws NoSuchPaddingException
    * @throws InvalidKeySpecException
    */
    public static byte[] encrypt(byte rawKeyData[], String str)
            throws InvalidKeyException, NoSuchAlgorithmException,
            IllegalBlockSizeException, BadPaddingException,
            NoSuchPaddingException, InvalidKeySpecException {
        // DES綆楁硶瑕佹眰鏈変竴涓彲淇′換鐨勯殢鏈烘暟婧?br />         SecureRandom sr = new SecureRandom();
        // 浠庡師濮嬪瘑鍖欐暟鎹垱寤轟竴涓狣ESKeySpec瀵硅薄
        DESKeySpec dks = new DESKeySpec(rawKeyData);
        // 鍒涘緩涓涓瘑鍖欏伐鍘傦紝鐒跺悗鐢ㄥ畠鎶奃ESKeySpec杞崲鎴愪竴涓猄ecretKey瀵硅薄
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey key = keyFactory.generateSecret(dks);
        // Cipher瀵硅薄瀹為檯瀹屾垚鍔犲瘑鎿嶄綔
        Cipher cipher = Cipher.getInstance("DES");
        // 鐢ㄥ瘑鍖欏垵濮嬪寲Cipher瀵硅薄
        cipher.init(Cipher.ENCRYPT_MODE, key, sr);
        // 鐜板湪錛岃幏鍙栨暟鎹茍鍔犲瘑
        byte data[] = str.getBytes();
        // 姝e紡鎵ц鍔犲瘑鎿嶄綔
        byte[] encryptedData = cipher.doFinal(data);

        System.out.println("鍔犲瘑鍚?==>" + encryptedData);
        return encryptedData;
    }

    /**
    * 瑙e瘑鏂規硶
    *
    * @param rawKeyData
    * @param encryptedData
    * @throws IllegalBlockSizeException
    * @throws BadPaddingException
    * @throws InvalidKeyException
    * @throws NoSuchAlgorithmException
    * @throws NoSuchPaddingException
    * @throws InvalidKeySpecException
    */
    public static String decrypt(byte rawKeyData[], byte[] encryptedData)
            throws IllegalBlockSizeException, BadPaddingException,
            InvalidKeyException, NoSuchAlgorithmException,
            NoSuchPaddingException, InvalidKeySpecException {
        // DES綆楁硶瑕佹眰鏈変竴涓彲淇′換鐨勯殢鏈烘暟婧?br />         SecureRandom sr = new SecureRandom();
        // 浠庡師濮嬪瘑鍖欐暟鎹垱寤轟竴涓狣ESKeySpec瀵硅薄
        DESKeySpec dks = new DESKeySpec(rawKeyData);
        // 鍒涘緩涓涓瘑鍖欏伐鍘傦紝鐒跺悗鐢ㄥ畠鎶奃ESKeySpec瀵硅薄杞崲鎴愪竴涓猄ecretKey瀵硅薄
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        SecretKey key = keyFactory.generateSecret(dks);
        // Cipher瀵硅薄瀹為檯瀹屾垚瑙e瘑鎿嶄綔
        Cipher cipher = Cipher.getInstance("DES");
        // 鐢ㄥ瘑鍖欏垵濮嬪寲Cipher瀵硅薄
        cipher.init(Cipher.DECRYPT_MODE, key, sr);
        // 姝e紡鎵ц瑙e瘑鎿嶄綔
        byte decryptedData[] = cipher.doFinal(encryptedData);
        System.out.println("瑙e瘑鍚?==>" + new String(decryptedData));
        return new String(decryptedData);
    }

}



---------------鏃犲鐨勫垎鍓茬嚎---------------
    涓婇潰鐨勪唬鐮侀潪甯告竻妤?鎴戝湪宸ヤ綔涓棶浜嗗疄鐜頒竴涓猽rl閲岄潰鐨勬暟鎹姞瀵嗗拰瑙e瘑鐨勬搷浣滃氨瀹屾垚浜嗕笂闈㈢殑浠g爜,鍘熶唬鐮佹潵婧愪簬緗戜笂,緇忚繃淇敼鐒跺悗鍔犱笂娉ㄩ噴,鏄洿鎺ュ彲浠ヨ繍琛岀殑,鏈変粈涔堜笉鎳傚緱璇峰湪鍚庨潰璺熷笘.
    榪欎釜鏄渶綆鍗曠殑鍔犲瘑瑙e瘑浜?浣嗘槸鍦ㄤ竴鑸儏鍐典笅浣滅敤鏄潪甯稿ぇ鐨?榪樻湁涓涓熀浜嶮D5鐨勫姞瀵嗚В瀵嗘槸浠ュ墠鍋氫俊鐢ㄥ崱鏀粯鏃跺仛鐨?榪樻病鏃墮棿鏁寸悊,浠ュ悗鍙戜笂鏉ュ惂!
    璋㈣阿鍦ㄧ綉涓婃棤縐佸鐚殑coder,鑷存暚!


PS: 鍒氬悓浜嬫彁鍑烘潵,瀵嗗寵涓嶈兘鍦║RL闂翠紶閫?榪欐牱鏆撮湶浜嗕俊鎭?鎯蟲兂涔熷,閭e氨鎶婂瘑鍖欏啓姝誨惂.
鍦ㄥ姞瀵嗕箣鍓?nbsp;   byte rawKeyData[] = "429387498234".getBytes();

榪欐牱瑙e瘑鏂規硶閲岄潰涔熷啓姝?nbsp;   byte rawKeyData[] = "429387498234".getBytes();
璋冪敤瑙e瘑鏂規硶灝辯洿鎺? decrypt(encryptedData);   灝卞彲浠ヤ簡!

榪欎釜瀵嗙爜涔熻兘鍐欓亾欏圭洰鐨勯厤緗枃浠墮噷闈?浠ヤ究闅忔椂鏇存敼!


濉斿 2008-10-29 13:28 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 女性| 连江县| 阿拉尔市| 漳浦县| 肥东县| 克拉玛依市| 乌拉特前旗| 武鸣县| 泽州县| 怀化市| 广东省| 南郑县| 甘肃省| 黔南| 天津市| 育儿| 扎囊县| 喀什市| 江津市| 安吉县| 霞浦县| 镇沅| 邵阳市| 金溪县| 台湾省| 博罗县| 阿尔山市| 旬邑县| 南昌县| 建昌县| 钟山县| 玉树县| 安溪县| 晋宁县| 卢龙县| 安新县| 衡山县| 上杭县| 鱼台县| 琼结县| 雷波县|