[size=medium]
package com.simon.security;
import java.io.UnsupportedEncodingException;
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import javax.crypto.Cipher;
public class JcePairTest {
public static void main(String[] args) throws NoSuchAlgorithmException, NoSuchProviderException, UnsupportedEncodingException{
KeyPairGenerator kpg = null;
kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(1024, new SecureRandom());
KeyPair kp = kpg.generateKeyPair();
PrivateKey priKey = kp.getPrivate();
PublicKey pubKey = kp.getPublic();
byte[] encode = getEncCode(new String("hello").getBytes(), pubKey);
byte[] decode = getDesCode(encode, priKey);
System.out.println( encode );
System.out.println( new String(decode,"UTF-8") );
}
public static byte[] getEncCode(byte[] byteS, Key key) {
byte[] byteFina = null;
Cipher cipher;
try {
cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, key);
byteFina = cipher.doFinal(byteS);
} catch (Exception e) {
e.printStackTrace();
} finally {
cipher = null;
}
return byteFina;
}
public static byte[] getDesCode(byte[] byteD , Key key) {
Cipher cipher;
byte[] byteFina = null;
try {
cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, key);
byteFina = cipher.doFinal(byteD);
} catch (Exception e) {
e.printStackTrace();
} finally {
cipher = null;
}
return byteFina;
}
}
[/size]
分享到:
相关推荐
jce_policy6-8.jar 用于jdk1.6-1.8 解决https接口调用报错
JCE Unlimited Strength Jurisdiction Policy Files; Illegal key size or default parameters密钥...根据您jdk对应的版本替换${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_policy.jar即可;
因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。 替换的文件:%JDK_HOME%\jre\lib\security\local_policy.jar 详细...
jce_policy, bcprov-jdk16-143.jar
JCE 加密、解密算法
sunjce_provider.jar
JDK8 JCE 支持256位加密
由于默认JDK8是不能使用PBEWITHMD5ANDTRIPLEDES等高强度加密算法的, 需要把jce_policy-8.zip中的两个jar包拷贝到<JRE_HOME>\lib\security下面, 替换掉两个原有的同名文件,以开启对高强度加密算法支持
jdk8加密使用的jce_policy-8替换原jar包
1、javax.crypto.Cipher 类提供加密和解密的功能,它构成了 Java Cryptography Extension (JCE) —— Java 加密扩展框架的核心。这些都是 Java JDK 原生的 API,不是第三方的。 2、Cipher 的 getInstance(String ...
用于替换jdk里的两个jar,解决无法使用AES192、256位加密解密的问题 jce7,jce8
JCE无限制权限策略文件,下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。将两个jar文件放到%JDK_HOME%\jre\lib\security下覆盖原来文件,记得先备份
(java加密解密)如何实现JCE接口的各种算法 jce加密解密 很好的资料 很详细
最近自己在做项目时需要修改jdk 密码扩展无限制权限策略文件,但是替换掉原策略文件发现与原本系统功能有冲突,因此在网上找了...其中jce_1.6_src.jar为我自己反编译并修改的,其他几个jar包都为网上下载的,一并上传。
官网下载地址是...JCE(Java Cryptography Extension)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。
复杂的对称加密(DES、PBE)、非对称加密算法: ● DES(Data Encryption Standard,数据加密算法) ● PBE(Password-based encryption,基于密码验证) ● RSA(算法的名字以发明者的名字命名:Ron Rivest, ...
jdk8无政策限制权限文件,用于AES加密算法,AES加密扩展包因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。 因为某些国家...
jce_policy-8.zip jar包,jdk,安全,security,oracle官网下载 稍微麻烦 上传供大家方便下载
下载解压后,把jar文件上传到需要安装jce机器上JDK或JRE的security目录下,覆盖源文件即可。 JDK:将两个jar文件放到%JDK_HOME%\jre\lib\security下 JRE:将两个jar文件放到%JRE_HOME%\lib\security下 覆盖之前,...
包含JDK1.6和JDK1.7的不受限制的local_policy.jar和US_export_policy.jar