资源简介
AES加解密(优化版,明文密文相互转换)
代码片段和文件信息
package com.framework.util;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class AESTool {
private static final String aes_pwd = “123456!“;
/**
* 加密
*
* @param content 需要加密的内容
* @param password 加密密码
* @return
*/
public static byte[] 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);
return result; // 加密
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}
/**解密
* @param content 待解密内容
* @param password 解密密钥
* @return
*/
public static byte[] decrypt(byte[] 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“);// 创建密码器
cipher.init(Cipher.DECRYPT_MODE key);// 初始化
byte[] result = cipher.doFinal(content);
return result; // 加密
} catch (NoSu
- 上一篇:Java EE期末考试试题
- 下一篇:java图像用户界面实现的通讯录程序
相关资源
- JS实现AES-GCM加密,java实现AES-GCM解密。
- 完美使用RSA2结合AES对数据进行加密兼
- aes加密算法 五种模式
- Android实现登录界面和功能
- RSA加密传输AES的key和iv js加密 java解
- 高性能AES256对称加解密,兼容Java、
- BouncyCastleProvider jar包
- Java使用winzipaes对zip文件的操作支持中
- android使用AES加密对文件进行前中后三
- android使用AES加密和解密文件
- java AES加密解密并有详细注释程序窗口
- AES加密解密JAVA实现带源码
- local_policy.jar和US_export_policy.jar java解密
- AES加密访问数据库连接
- c/c++ 与java互通 AES加密解密,算法EC
- Qt AES算法ECB模式 PKCS5Padding 128bit
- AESUtils实现了基于AES的ECB模式,选用了
- Android、Java、Web三端通用的RSA和AES工具
- AES加密解决了windows下正常,linux报错
- Java实现的AES/CBC/NoPadding方式实现的文
- Delphi7AES加密解密与JAVA互转默认128位
- RSA与AES混合加密算法的实现java版
- Java AES文件和文本加解密
- java、android、web三端通用的RSA和AES工具
- AES 基于 ECB+zeropadding+128+密码的加解密
- AESjava实现
- RSA+AES 加密工具类 Java
- 对称加密AES算法,前后端实现
- 简单实现AES-CBC-MAC算法
- AES+RSA加密解密js和java互通.zip
评论
共有 条评论