Java 实现:超详细 AES 加密工具类及使用示例
以下是一个使用Java实现AES加密和解密的工具类示例: ```java import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.util.Base64; public class AESUtil { private static final String ALGORITHM = "AES"; private static final String KEY_SPEC = "AES/ECB/PKCS5Padding"; public static String encrypt(String plainText, String key) throws Exception { SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), ALGORITHM); Cipher cipher = Cipher.getInstance(KEY_SPEC); cipher.init(Cipher.ENCRYPT_MODE, secretKey); byte[] cipherText = cipher.doFinal(plainText.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(cipherText); } public static String decrypt(String cipherText, String key) throws Exception { SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), ALGORITHM); Cipher cipher = Cipher.getInstance(KEY_SPEC); cipher.init(Cipher.DECRYPT_MODE, secretKey); byte[] plainText = cipher.doFinal(Base64.getDecoder().decode(cipherText)); return new String(plainText, StandardCharsets.UTF_8); } } ``` 使用示例: ```java String key = "1234567890123456"; // 16个字节的密钥 String plainText = "Hello World!"; // 待加密的明文 String cipherText = AESUtil.encrypt(plainText, key); // 加密后的密文 String decryptedText = AESUtil.decrypt(cipherText, key); // 解密后的明文 System.out.println("Plain Text: " + plainText); System.out.println("Cipher Text: " + cipherText); System.out.println("Decrypted Text: " + decryptedText); ``` ######[AI写代码神器 | 496点数解答 | 2023-12-21 14:41:10]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)420
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)44
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)322
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1196
- JSP 实现商品展示模块:分页、搜索、交互与美观界面全搞定!(字节豆包 | 19点数解答 | 2024-12-13 15:00:43)349
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- 代码纠错:从“std::uno”笔误到完整 C++ 网络程序的修正与优化(阿里通义 | 465点数解答 | 2024-11-23 20:41:37)249
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)256
- Python实现AES加密解密:含代码示例与关键注意点(字节豆包 | 836点数解答 | 2025-10-14 16:35:32)75
- Android Studio开发:打造多页面交互美团选购App,附代码示例与注意要点! (字节豆包 | 293点数解答 | 2024-11-29 01:16:56)305
- Android Studio 开发:功能完备且流畅运行的美团选购 APP 大揭秘!(GPT | 291点数解答 | 2024-11-29 01:17:30)233
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)282