## 文件使用说明
jdk6、jdk7、jdk8目录中分别是其对应版本的高位秘钥加密需要的无限制的jar包,根据自己的jdk版本选择一个就可以了。zip文件是对应的原包。
2个jar包分别是local_policy.jar、US_export_policy.jar,拷贝到JDK安装目录下的jdk目录下的jre目录下的lib目录下的security目录下。之前的同名包记得备份。
Windows下大概就是C:\Program Files\Java\jdk1.8.0_121\jre\lib\security这个目录。
如果,在加密算法中遇到:Illegal key size or default parameters这个错误,可能你就需要无限制文件了。
## 官方无政策限制权限包下载地址
[jdk6](https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html)
[jdK7](https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html)
[jdk8](https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
## AES示例代码
```java
package org.curitis.symmetrical;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.security.spec.InvalidKeySpecException;
/**
* AES(Advance Encryption Standard,高级数据加密标准)
*
* Java7 BouncyCastle
* 秘钥长度 128、192、256 128、192、256
*
* 默认秘钥长度 128 128
*
* 工作模式 ECB CBC PCBC CTR CTS CFB CFB8至CFB128 OFB OFB8至OFB128 | 相同
*
* 填充方式 NoPadding PKCS5Padding ISO10126Padding | PKCS7Padding ZeroBytePadding
*
* Java7 256位秘钥需要获取无政策限制权限文件,下载地址:放在jdk/jre/lib/security目录下
* jdk6:https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
* jdk7:https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
* jdk8:https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
*/
public class AES {
public static final String ALGORITHM = "AES";
public static final String CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";
public static byte[] decrypt(byte[] data,byte[] key) throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException, NoSuchPaddingException, BadPaddingException, IllegalBlockSizeException {
SecretKey secretKey = tokey(key);
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE,secretKey);
return cipher.doFinal(data);
}
public static byte[] encrypt(byte[] data,byte[] key) throws NoSuchAlgorithmException, InvalidKeyException, InvalidKeySpecException, NoSuchPaddingException, BadPaddingException, IllegalBlockSizeException {
SecretKey secretKey = tokey(key);
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE,secretKey);
return cipher.doFinal(data);
}
private static SecretKey tokey(byte[] key) throws NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException {
SecretKeySpec secretKeySpec = new SecretKeySpec(key, ALGORITHM);
return secretKeySpec;
}
public static byte[] initKey() throws NoSuchAlgorithmException {
KeyGenerator keyGenerator = KeyGenerator.getInstance(ALGORITHM);
keyGenerator.init(256);
SecretKey key = keyGenerator.generateKey();
byte[] encoded = key.getEncoded();//秘钥二进制编码
return encoded;
}
public static byte[] initBCKey() throws NoSuchProviderException, NoSuchAlgorithmException {
KeyGenerator keyGenerator = KeyGenerator.getInstance(ALGORITHM, "BC");
keyGenerator.init(256);
SecretKey key = keyGenerator.generateKey();
byte[] encoded = key.getEncoded();//秘钥二进制编码
return encoded;
}
public static byte[] initBCTwoKey() throws NoSuchProviderException, NoSuchAlgorithmException {
Security.addProvider(new BouncyCastleProvider());
KeyGenerator keyGenerator = KeyGenerator.getInstance(ALGORITHM);
keyGenerator.init(256);
SecretKey key = keyGenerator.generateKey();
byte[] encoded = key.getEncoded();//秘钥二进制编码
return encoded;
}
}
```
使用Bouncy Castle需要引入jar包,根据自己需要修改版本:
```xml
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
jdk加密政策无限制jar包.zip (11个子文件)
整除无限制jar包存放目录.png 59KB
readme.md 5KB
jdk6
US_export_policy.jar 2KB
local_policy.jar 2KB
jdk8
US_export_policy.jar 3KB
local_policy.jar 3KB
UnlimitedJCEPolicyJDK7.zip 7KB
jdk7
US_export_policy.jar 2KB
local_policy.jar 2KB
jce_policy-8.zip 8KB
jce_policy-6.zip 9KB
共 11 条
- 1
资源评论
trayvontang
- 粉丝: 245
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功