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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks

     

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

    import javax.crypto.Cipher;
    import javax.crypto.KeyGenerator;
    import javax.crypto.NoSuchPaddingException;
    import javax.crypto.SecretKey;
    import javax.crypto.spec.SecretKeySpec;

    public class AESUtil
    {
        
    public static String encrypt(String content, String password)
        
    {
            String encryptResult 
    = null;
            
    try
            
    {
                Cipher cipher 
    = AESUtil.initCipher(Cipher.ENCRYPT_MODE, password);
                
    byte[] byteContent = content.getBytes("UTF8");
                
    byte[] result = cipher.doFinal(byteContent);
                encryptResult 
    = parseByte2HexStr(result);
            }

            
    catch (Exception e)
            
    {
                e.printStackTrace();
            }

            
    return encryptResult;
        }

        
        
    public static String decrypt(String content, String password)
        
    {
            String decryptResult 
    = null;
            
    try
            
    {
                Cipher cipher 
    = AESUtil.initCipher(Cipher.DECRYPT_MODE, password);
                
    byte[] result = cipher.doFinal(parseHexStr2Byte(content));
                
    return decryptResult = new String(result, "UTF8");
            }

            
    catch (Exception ex)
            
    {
                ex.printStackTrace();
            }

            
    return decryptResult;
        }

        
        
    private static String parseByte2HexStr(byte buf[])
        
    {
            StringBuffer sb 
    = new StringBuffer();
            
    for (int i = 0; i < buf.length; i++)
            
    {
                String hex 
    = Integer.toHexString(buf[i] & 0xFF);
                
    if (hex.length() == 1)
                
    {
                    hex 
    = '0' + hex;
                }

                sb.append(hex.toUpperCase());
            }

            
    return sb.toString();
        }

        
        
    private static byte[] parseHexStr2Byte(String hexStr)
        
    {
            
    if (hexStr.length() < 1)
                
    return null;
            
    byte[] result = new byte[hexStr.length() / 2];
            
    for (int i = 0; i < hexStr.length() / 2; i++)
            
    {
                
    int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);
                
    int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2),
                        
    16);
                result[i] 
    = (byte) (high * 16 + low);
            }

            
    return result;
        }

        
        
    private static Cipher initCipher(int model, String password)
                
    throws NoSuchAlgorithmException, NoSuchPaddingException,
                InvalidKeyException
        
    {
            KeyGenerator kgen 
    = KeyGenerator.getInstance("AES");
            kgen.init(
    128new SecureRandom(password.getBytes()));
            SecretKey secretKey 
    = kgen.generateKey();
            
    byte[] enCodeFormat = secretKey.getEncoded();
            SecretKeySpec key 
    = new SecretKeySpec(enCodeFormat, "AES");
            Cipher cipher 
    = Cipher.getInstance("AES");
            cipher.init(model, key);
            
    return cipher;
        }

        
        
    public static void main(String[] args)
        
    {
            String content 
    = "123456惠萬鵬!@#$%^&*()_+|";
            String password 
    = "";
            
    // 加密
            System.out.println("加密前:" + content);
            String result 
    = AESUtil.encrypt(content, password);
            System.out.println(
    "加密后:" + result);
            
    // 解密
            System.out.println("解密后:" + AESUtil.decrypt(result, password));
        }

    }

    posted on 2010-05-28 15:37 HUIKK 閱讀(202) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 免费A级毛片无码A∨ | 无码欧精品亚洲日韩一区夜夜嗨| 日韩a在线观看免费观看| 啊v在线免费观看| 国产亚洲婷婷香蕉久久精品| 亚洲综合自拍成人| 亚洲国产熟亚洲女视频| 曰批免费视频播放免费| 永久免费av无码入口国语片| 每天更新的免费av片在线观看| 好男人看视频免费2019中文| 亚洲国产精品无码久久九九| 亚洲短视频男人的影院| 亚洲熟妇无码av另类vr影视| 高清免费久久午夜精品| 四虎影视成人永久免费观看视频| 成人毛片18女人毛片免费视频未| 亚洲午夜福利精品无码| 亚洲第一二三四区| 免费一级毛片在线播放视频免费观看永久 | 91精品啪在线观看国产线免费| 性色av免费观看| 亚洲毛片αv无线播放一区| 亚洲一区精品视频在线| 一级做a爰片久久毛片免费陪| 久久99热精品免费观看牛牛| 国产精品自在自线免费观看| 久久精品亚洲日本佐佐木明希| 亚洲妇女无套内射精| 久久青草精品38国产免费| 免费的涩涩视频在线播放| 亚洲AV无码不卡无码| 久久亚洲中文字幕无码| 一级毛片在线免费看| 免费一看一级毛片人| 亚洲高清资源在线观看| 新最免费影视大全在线播放| 中文字幕无码视频手机免费看 | 亚洲中文字幕不卡无码| 亚洲日韩中文字幕一区| 久别的草原电视剧免费观看|