Base64(AES128(字段,秘钥))对称加密
代码实现如下:
public class SecurityAESUtils { private static String AES_KEY = "123456789qazwsx#"; private static String AES_MODE = "AES/ECB/PKCS5Padding"; private Key key; private static SecurityAESUtils securityAESUtils; public static SecurityAESUtils getInstance() { if(securityAESUtils == null) { securityAESUtils = new SecurityAESUtils(); } return securityAESUtils; } public static byte[] encryptECB(String data, String AES_KEY) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { Cipher cipher = Cipher.getInstance(AES_MODE); cipher.init(Cipher.ENCRYPT_MODE,new SecretKeySpec(AES_KEY.getBytes(),"AES")); byte[] result = cipher.doFinal(data.getBytes()); return result; } public static byte[] decryptEBC(byte[] data,String AES_KEY) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException { Cipher cipher = null; cipher = Cipher.getInstance(AES_MODE); cipher.init(Cipher.DECRYPT_MODE,new SecretKeySpec(AES_KEY.getBytes(), "AES")); byte[] result = cipher.doFinal(data); return result; } public static void main(String[] args) throws NoSuchPaddingException, IllegalBlockSizeException, NoSuchAlgorithmException, BadPaddingException, InvalidKeyException { String data = "367601198908244058"; byte[] ciphertext = encryptECB(data,AES_KEY); String encodeString = Base64.getEncoder().encodeToString(ciphertext); System.out.println("ECB 模式加密结果(Base64):" + encodeString); //解密 byte[] decodeByte = Base64.getDecoder().decode(encodeString); String decodeString = new String(SecurityAESUtils.decryptEBC(decodeByte,AES_KEY)); System.out.printf("ECB 模式解密结果(Base64):"+decodeString); } }
参考: http://www.viiis.cn/news/show_117504.html
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix