import org.apache.commons.codec.binary.Base64; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; / * @Author JCccc * @Description 测试 网站 http://tool.chacuo.net/cryptaes * @Date 2021/9/15 10:06 */ public class AesUtil { private static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding"; / * 加密 key 需 16位 * @param content * @param key * @return */ public static String encrypt(String content, String key) { try { //获得密码的字节数组 byte[] raw = key.getBytes(); //根据密码生成AES密钥 SecretKeySpec skey = new SecretKeySpec(raw, "AES"); //根据指定算法ALGORITHM自成密码器 Cipher cipher = Cipher.getInstance(ALGORITHMSTR); //初始化密码器,第一个参数为加密(ENCRYPT_MODE)或者解密(DECRYPT_MODE)操作,第二个参数为生成的AES密钥 16位 cipher.init(Cipher.ENCRYPT_MODE, skey); //获取加密内容的字节数组(设置为utf-8)不然内容中如果有中文和英文混合中文就会解密为乱码 byte [] byte_content = content.getBytes("utf-8"); //密码器加密数据 byte [] encode_content = cipher.doFinal(byte_content); //将加密后的数据转换为Base64编码的字符串返回 return Base64.encodeBase64String(encode_content); } catch (Exception e) { e.printStackTrace(); return null; } } / * 解密 key 需 16位 * @param encryptStr * @param decryptKey * @return */ public static String decrypt(String encryptStr, String decryptKey) { try { //获得密码的字节数组 byte[] raw = decryptKey.getBytes(); //根据密码生成AES密钥 SecretKeySpec skey = new SecretKeySpec(raw, "AES"); //根据指定算法ALGORITHM自成密码器 Cipher cipher = Cipher.getInstance(ALGORITHMSTR); //初始化密码器,第一个参数为加密(ENCRYPT_MODE)或者解密(DECRYPT_MODE)操作,第二个参数为生成的AES密钥 cipher.init(Cipher.DECRYPT_MODE, skey); //把密文字符串Base64转回密文字节数组 byte [] encode_content = Base64.decodeBase64(encryptStr); //密码器解密数据 byte [] byte_content = cipher.doFinal(encode_content); //将解密后的数据转换为字符串返回 return new String(byte_content,"utf-8"); } catch (Exception e) { e.printStackTrace(); return null; } } // public static void main(String[] args) { // String str = encrypt("", "abgfderfgt"); // System.out.println(str); // // // String str2 = decrypt(str, "abgfderfgt"); // System.out.println(str2); // // } }
今天的文章
JAVA AES加密解密工具类分享到此就结束了,感谢您的阅读。
JAVA AES加密解密工具类
JAVA AES加密解密工具类importjavax crypto Cipher importjavax crypto spec SecretKeySpe publicclassA privatestati AES AES publicstatic Stringsrc Stri javaaes 解密工具类
PNG加密解密工具
上一篇
2025-01-05 21:51
html网页在线加密解密工具源码
下一篇
2025-01-05 21:46
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/102240.html