java实现中文RSA公钥加密私钥解密代码
代码语言:java
所属分类:加密解密
代码描述:java实现中文RSA公钥加密私钥解密代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPrivateCrtKey;
import java.security.interfaces.RSAPublicKey;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.*;
public class RSAChinese {
/**
* 创建密钥对生成器,指定加密和解密算法为RSA
* @param keylen
* @return
*/
public String[] createKey(int keylen) {// 输入密钥长度
String[] output = new String[5]; // 用来存储密钥的e n d p q
try {
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(keylen); // 指定密钥的长度,初始化密钥对生成器
KeyPair kp = kpg.generateKeyPair(); // 生成密钥对
RSAPublicKey puk = (RSAPublicKey) kp.getPublic();
RSAPrivateCrtKey prk = (RSAPrivateCrtKey) kp.getPrivate();
BigInteger e = puk.getPublicExponent();
BigInteger n = puk.getModulus();
BigInteger d = prk.getPrivateExponent();
BigInteger p = prk.getPrimeP();
BigInteger q = prk.getPrimeQ();
output[0] = e.toString();
output[1] = n.toString();
output[2] = d.toString();
output[3] = p.toString();
output[4] = q.toString();
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(RSAChinese.class.getName()).log(Level.SEVERE, null, ex);
}
return output;
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0