欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简易上手:Java中AES加密与解密的实践指南

最编程 2024-07-20 09:26:29
...
import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.security.Key; import java.util.Base64; public class Main { public static String src = "我是要加密的内容"; public static void main(String[] args) { try { // 生成随机Key KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); keyGenerator.init(128); SecretKey secretKey = keyGenerator.generateKey(); byte [] keyBytes = secretKey.getEncoded(); // Key 转换 Key key = new SecretKeySpec(keyBytes, "AES"); // 加密 Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); // ECB:工作模式;PKCS5Padding:填充方式 cipher.init(Cipher.ENCRYPT_MODE, key); byte [] result = cipher.doFinal(src.getBytes()); System.out.println("jdk aes encrypt: " + Base64.getEncoder().encodeToString(result)); // 这里用Base64加密是为了更好的展示数据 // 解密 cipher.init(Cipher.DECRYPT_MODE, key); result = cipher.doFinal(result); System.out.println("jdk aes decrypt: " + new String (result)); } catch (Exception e) { e.printStackTrace(); } } }

推荐阅读