JAVA中使用AES加密解密
2017-07-10 17:57
671 查看
技术交流群: 233513714
/** * AES加密测试 * * @param str 加密参数 */ public void aesTest(String str) { log.info("[rsaTest获取请求:{}]", str); try { String encryptResult = AESUtil.encrypt(str, "123456"); log.info("[AES加密后的参数为:{}]", encryptResult); String decryptResult = AESUtil.decrypt(encryptResult, "123456"); log.info("[AES解密后的参数为:{}]", decryptResult); } catch (Exception e) { log.info("[AES加密解密出现异常:{}]", e); } } /** * AES加密 * * @param content 需要加密的内容 * @param password 加密密码 * @return */ public static String encrypt(String content, String password) { try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes())); 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(Cipher.ENCRYPT_MODE, key); byte[] result = cipher.doFinal(byteContent); Base64 base64 = new Base64(); return base64.encodeToString(result); } catch (Exception e) { log.info("AES加密出现异常:{}", e); } return null; } /** * AES解密 * * @param content 待解密内容 * @param password 解密密钥 * @return */ public static String decrypt(String content, String password) { try { Base64 base64 = new Base64(); byte[] text = base64.decode(content); KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes())); SecretKey secretKey = kgen.generateKey(); byte[] enCodeFormat = secretKey.getEncoded(); SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, key); byte[] result = cipher.doFinal(text); return new String(result); } catch (Exception e) { log.info("AES解密出现异常:{}", e); } return null; }
相关文章推荐
- java使用AES加密解密 AES-128-ECB加密
- java使用Hex编码解码实现Aes加密解密功能示例
- 使用java进行 AES 加密 解密
- Aes使用Java加密C#解密
- [java]java使用AES加密解密 ,AES-128/192/256-ECB加密模式
- 【java】AES加密解密|及Base64的使用
- java使用AES加密解密
- java使用AES加密解密 AES-128-ECB加密
- 如何使用CryptoJS配合Java进行AES加密和解密
- 对称加密算法AES------使用AES算法对文件进行加密/解密的操作(JAVA)
- AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用
- AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用
- Java使用AES加密和解密的实例详解
- 【java】AES加密解密|及Base64的使用
- Java使用ExecutorService线程池通过Socket传输AES加密,并在客户端用ServerSocket解密
- java使用AES加密解密 AES-128-ECB加密
- Java使用AES加密解密时需要的Jar
- 【java】AES加密解密|及Base64的使用
- 【java】AES加密解密|及Base64的使用
- 【java】AES加密解密|及Base64的使用