AES加密解密
来源:互联网 发布:办公软件好不好学 编辑:程序博客网 时间:2024/05/07 09:32
/** * @Description: 生成密钥 * @param password * @return * @throws Exception */ public static SecretKeySpec initKey(String password) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRandom(password.getBytes())); SecretKey secretKey = kgen.generateKey(); byte[] enCodeFormat = secretKey.getEncoded(); SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES"); return key; } /** * 加密 * * @param content 需要加密的内容 * @param [password 加密密钥 * @return * @throws Exception */ public static String encryptNew(String content, String password) throws Exception { SecretKeySpec key = initKey(password); byte[] byteContent = content.getBytes("UTF-8"); IvParameterSpec ivSpec = new IvParameterSpec("abcdefghijklmnop".getBytes()); // 创建密码器 Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // 初始化 cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec); return Base64.encodeBase64String(cipher.doFinal(byteContent)); } /**解密 * @param content 待解密内容 * @param password 解密密钥 * @return */ public static String decryptNew(String content, String password) throws Exception { SecretKeySpec key = initKey(password); IvParameterSpec ivSpec = new IvParameterSpec("abcdefghijklmnop".getBytes()); // 创建密码器 Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, key, ivSpec);// 初始化 return new String(cipher.doFinal(Base64.decodeBase64(content))); }
0 0
- 加密解密。(aes, java)
- AES加密解密类
- AES 加密/解密备忘
- java,AES加密,解密
- AES 加密解密 c#
- AES加密解密程序。
- AES加密和解密
- java AES加密解密
- java AES加密解密
- AES加密解密 应用
- AES 加密解密API
- php AES加密解密
- AES加密解密
- AES加密与解密
- java AES加密解密
- c# aes 加密解密
- java AES 加密/解密
- MySQL AES加密解密
- OCJP标准题库试题之————第二次
- php webp转jpg
- watch os 语音输入
- 采购单入库操作
- Mybatis 教程
- AES加密解密
- Android selector 失效
- sqlserver 2008 表分区测试
- BlueTooth: 蓝牙协议栈实现模式分析
- 大数据 与 云计算 的关系
- CentOS 7最小安装(文字界面)中设置连接网络
- 算法开始之路-栈和列的应用
- java解析XML (JDOM & DOM4J,X-stream)(二)
- Rabin-Karp字符串查找算法