Ai
1 Star 0 Fork 0

晓林/LearnJavaSE

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
EncryptDemo1AES.java 1.52 KB
一键复制 编辑 原始数据 按行查看 历史
晓林 提交于 2023-03-19 21:45 +08:00 . 学习加密算法的源码
package chapter12Hash;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.security.GeneralSecurityException;
import java.util.Base64;
public class EncryptDemo1AES {
public static void main(String[] args) throws Exception {
// 原文
String message = "Hello World!";
System.out.println("message: " + message);
// 128位密钥 = 16 bytes key
byte[] key = "1234567890abcdef".getBytes("UTF-8");
// 加密:
byte[] data = message.getBytes("UTF-8");
byte[] encryptedData = encrypt(key, data);
System.out.println("Encrypted Data: " + Base64.getEncoder().encodeToString(encryptedData));
// 解密
byte[] decryptedData = decrypt(key, encryptedData);
System.out.println("Decrypted Data: " + new String(decryptedData, "UTF-8"));
}
// 加密
public static byte[] encrypt(byte[] key, byte[] input) throws GeneralSecurityException{
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKey keySpce = new SecretKeySpec(key, "AES");
cipher.init(Cipher.ENCRYPT_MODE, keySpce);
return cipher.doFinal(input);
}
//解密
public static byte[] decrypt(byte[] key, byte[] input) throws GeneralSecurityException{
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKey keySpce = new SecretKeySpec(key, "AES");
cipher.init(Cipher.DECRYPT_MODE, keySpce);
return cipher.doFinal(input);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/peterjxl/LearnJavaSE.git
git@gitee.com:peterjxl/LearnJavaSE.git
peterjxl
LearnJavaSE
LearnJavaSE
master

搜索帮助