大家可以先看主要的代码:
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
public class Encrypt {
public static boolean initialized = false;
public static final String ALGORITHM = "AES/ECB/PKCS7Padding";
/**
* @param String str 要被加密的字符串
* @param byte[] key 加/解密要用的长度为32的字节数组(256位)密钥
* @return byte[] 加密后的字节数组
*/
public static byte[] Aes256Encode(String str, byte[] key){
initialize();
byte[] result = null;
try{
Cipher cipher = Cipher.getInstance(ALGORITHM, "BC");
SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); //生成加密解密需要的Key
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
result = cipher.doFinal(str.getBytes("UTF-8"));
}catch(Exception e){
e.printStackTrace();
}
return result;
}
/**
* @param byte[] bytes 要被解密的字节数组
* @param byte[] key 加/解密要用的长度为32的字节数组(256位)密钥

本文介绍了如何在Java中使用AES256-ECB-PKCS7Padding加密。由于标准JRE仅支持AES/ECB/PKCS5Padding,需要引入BouncyCastle库并通过'BC'参数指定加密算法。同时,为了使用256位密钥,必须下载并安装Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files,将jar文件放入JRE的lib/security目录下。
最低0.47元/天 解锁文章
3482

被折叠的 条评论
为什么被折叠?



