码迷,mamicode.com
首页 > 其他好文 > 详细

AES加密工具类

时间:2015-03-16 11:02:33      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

import it.sauronsoftware.base64.Base64;

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

/** DES 加密的一种,加密秘钥长度为16位.
 */
public class AESC {
    private static final String ALGORITHM = "AES";
    /**
     * 16位的key.
     */
    private static final String KEY = "jsswlhfax_123456";

    /**
     * 加密文本(UTF-8编码)
     * @param text 待加密的字符串
     * @return 加密后的字符串
     */
    public static String encrypt(String text) {
        try {
            Cipher c = Cipher.getInstance(ALGORITHM);
            c.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(KEY.getBytes(), ALGORITHM));
            byte[] data = c.doFinal(text.getBytes("UTF-8"));
            return new String(Base64.encode(data));
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    /**
     * 解密文本(UTF-8编码)
     * @param text 待解秘的字符串
     * @return 解密后的字符串
     */
    public static String decrypt(String text) {
        try {
            Cipher c = Cipher.getInstance(ALGORITHM);
            c.init(Cipher.DECRYPT_MODE, new SecretKeySpec(KEY.getBytes(), ALGORITHM));
            byte[] data = c.doFinal(Base64.decode(text.getBytes()));
            return new String(data, "UTF-8");
        } catch (Exception e) {
            return null;
        }
    }

    public static void main(String aggs[]) {
        long start = System.currentTimeMillis();
        for(int i=0;i<100;i++){
            System.out.println(encrypt("中国"+i));
            encrypt("中国"+i);
        }
        System.out.println("花费时间:"+(System.currentTimeMillis()-start));

        //System.out.println(decrypt("CxS8ZR/08vasO4WrYBMFSg=="));
    }
}

AES加密工具类

标签:

原文地址:http://blog.csdn.net/u011328015/article/details/44302113

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!