java AES加密遇到的一些问题
来源:互联网 发布:hadoop ubuntu 编辑:程序博客网 时间:2024/05/17 12:03
java AES加密遇到的一些问题
AES加密工具类见:https://github.com/scottyab/AESCrypt-Android/blob/master/aescrypt/src/main/java/com/scottyab/aescrypt/AESCrypt.java
1.Android支持PKCS7Padding填充方式,而java默认支持PKCS5Padding,
报错:java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CBC/PKCS7Padding
解决方法:
1.通过BouncyCastle组件来让java里面支持PKCS7Padding填充,BouncyCastle组件下载链接:http://www.bouncycastle.org/
2.
public static byte[] encrypt(final SecretKeySpec key, final byte[] iv, final byte[] message) throws GeneralSecurityException { IvParameterSpec ivSpec = new IvParameterSpec(iv); /** * 这个地方调用BouncyCastleProvider *让java支持PKCS7Padding */ Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); final Cipher cipher = Cipher.getInstance(AES_MODE); cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec); byte[] cipherText = cipher.doFinal(message); log("cipherText", cipherText); return cipherText;}
2.java.security.InvalidKeyException: Illegal key size
原来是jdk不兼容的问题,我本地以及同事的测试环境都是jdk1.7,而我搭建的环境用的是jdk1.8
解决方案如下:
处理办法: 在官方网站下载JCE无限制权限策略文件
JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件
1 0
- java AES加密遇到的一些问题
- JAVA的AES加密
- Java 环境下使用 AES 加密的特殊问题处理
- Java的AES加密解密
- java AES时遇到的问题和解决办法
- 遇到16进制0x00 AES 128 加密不了的问题
- java版AES文件加密速度问题
- JAVA aes加密在linux中的问题
- AES加密在linux上的问题
- AES加密解密算法的Java实现
- JAVA AES加密 对应的 C# 方法
- JAVA AES加密 对应的 C# 方法
- java中AES加密的简单使用
- java编写的AES数据加密
- AES 加密解密的 JAVA 实现 【二】
- Java基于AES的加密与解密
- JAVA和C#通用的AES加密
- iOS AES解密 我遇到的问题
- Android页面跳转器--消除跳转时Activity之间的耦合性
- eclipse导入工程到myeclipse
- Spring Redis(7)Redis持久化查询、过期、集群操作
- java实现:http协议get和post方法的url参数请求响应及交互
- 寻找数组的下标索引值index方法
- java AES加密遇到的一些问题
- MySQL语句整理(1)
- NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码
- 魔方CFOP公式
- (24):消除非受检警告
- gif处理的工具
- idea下maven项目打包方法
- 快速学会SurfaceView用法
- CentOS7/RHEL7安装Redis步骤详解