赞
踩
- public class AESutil2
- {
-
- public static String encrypt(String content, String secureKey)
- {
- try
- {
- if ((StringUtils.isEmpty(content)) ||
- (StringUtils.isEmpty(secureKey))) {
- return null;
- }
- KeyGenerator kgen = KeyGenerator.getInstance("AES");
-
- SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
- secureRandom.setSeed(secureKey.getBytes());
- kgen.init(128, secureRandom);
- SecretKey secretKey = kgen.generateKey();
- byte[] enCodeFormat = secretKey.getEncoded();
- SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
- Cipher cipher = Cipher.getInstance("AES");
- byte[] byteContent = content.getBytes("utf-8");
- cipher.init(1, key);
- byte[] result = cipher.doFinal(byteContent);
- return encodeBASE64(result);
- }
- catch (Exception e) {
-
- }
- return null;
- }
-
- public static String decrypt(String content, String secureKey)
- {
- try
- {
- if ((StringUtils.isEmpty(content)) || (StringUtils.isEmpty(secureKey))) {
- return null;
- }
- KeyGenerator kgen = KeyGenerator.getInstance("AES");
- SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
- secureRandom.setSeed(secureKey.getBytes());
- kgen.init(128, secureRandom);
- SecretKey secretKey = kgen.generateKey();
- byte[] enCodeFormat = secretKey.getEncoded();
- SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
- Cipher cipher = Cipher.getInstance("AES");
- cipher.init(2, key);
- byte[] base64Dec = Base64.decode(content);
- byte[] result = cipher.doFinal(base64Dec);
- return new String(result);
- }
- catch (Exception e)
- {
- }
- return null;
- }
-
- public static String encodeBASE64(byte[] content)
- throws Exception
- {
- if ((content == null) || (content.length == 0)) {
- return null;
- }
- try
- {
- return Base64.encode(content);
- }
- catch (Exception e)
- {
- }
- return null;
- }
-
- public static void main(String[] args) {
- String content = "5f3a87d591fa51720261e0b7e4e14c33";
- String password = "123456a";
- //加密
- System.out.println("加密前:" + content);
- String encryptResultStr = encrypt(content, password);
- System.out.println("加密后:" + encryptResultStr);
- //解密
- String decryptFrom = decrypt(encryptResultStr,password);
- System.out.println("解密后:" + decryptFrom);
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。