根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象
来源:互联网 发布:java 泛型接口使用 编辑:程序博客网 时间:2024/05/20 11:50
1、字符串生成公钥对象 PublicKey
/**
* 实例化公钥
*
* @return
*/
private PublicKey getPubKey() {
PublicKey publicKey = null;
try {
// 自己的公钥(测试)
String pubKey ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVRiDkEKXy/KBTe+UmkA+feq1zGWIgBxkgbz7aBJGb5+eMKKoiDRoEHzlGndwFKm4mQWNftuMOfNcogzYpGKSEfC7sqfBPDHsGPZixMWzL3J10zkMTWo6MDIXKKqMG1Pgeq1wENfJjcYSU/enYSZkg3rFTOaBSFId+rrPjPo7Y4wIDAQAB";
java.security.spec.X509EncodedKeySpec bobPubKeySpec = newjava.security.spec.X509EncodedKeySpec(
new BASE64Decoder().decodeBuffer(pubKey));
// RSA对称加密算法
java.security.KeyFactory keyFactory;
keyFactory = java.security.KeyFactory.getInstance("RSA");
// 取公钥匙对象
publicKey = keyFactory.generatePublic(bobPubKeySpec);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (InvalidKeySpecException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return publicKey;
}
2、字符串生成私钥对象
/**
* 实例化私钥
*
* @return
*/
private PrivateKey getPrivateKey() {
PrivateKey privateKey = null;
String priKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJVGIOQQpfL8oFN75SaQD596rXMZYiAHGSBvPtoEkZvn54woqiINGgQfOUad3AUqbiZBY1+24w581yiDNikYpIR8Luyp8E8MewY9mLExbMvcnXTOQxNajowMhcoqowbU+B6rXAQ18mNxhJT96dhJmSDesVM5oFIUh36us+M+jtjjAgMBAAECgYABtnxKIabF0wBD9Pf8KUsEmXPEDlaB55LyPFSMS+Ef2NlfUlgha+UQhwsxND6CEKqS5c0uG/se/2+4l0jXz+CTYBEh+USYB3gxcMKEo5XDFOGaM2Ncbc7FAKJIkYYN2DHmr4voSM5YkVibw5Lerw0kKdYyr0Xd0kmqTok3JLiLgQJBAOGZ1ao9oqWUzCKnpuTmXre8pZLmpWPhm6S1FU0vHjI0pZh/jusc8UXSRPnx1gLsgXq0ux30j968x/DmkESwxX8CQQCpY1+2p1aX2EzYO3UoTbBUTg7lCsopVNVf41xriek7XF1YyXOwEOSokp2SDQcRoKJ2PyPc2FJ/f54pigdsW0adAkAM8JTnydc9ZhZ7WmBhOrFuGnzoux/7ZaJWxSguoCg8OvbQk2hwJd3U4mWgbHWY/1XB4wHkivWBkhRpxd+6gOUjAkBH9qscS52zZzbGiwQsOk1Wk88qKdpXku4QDeUe3vmSuZwC85tNyu+KWrfM6/H74DYFbK/MzK7H8iz80uJye5jVAkAEqEB/LwlpXljFAxTID/SLZBb+bCIoV/kvg+2145F+CSSUjEWRhG/+OH0cQfqomfg36WrvHl0g/Xw06fg31HgK";
PKCS8EncodedKeySpec priPKCS8;
try {
priPKCS8 = new PKCS8EncodedKeySpec(new BASE64Decoder().decodeBuffer(priKey));
KeyFactory keyf = KeyFactory.getInstance("RSA");
privateKey = keyf.generatePrivate(priPKCS8);
} catch (IOException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (InvalidKeySpecException e) {
e.printStackTrace();
}
return privateKey;
}
- 根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象
- 将PrivateKey(.ppk)转换为SecureCRT或者XShell所需的PublicKey(.pub)
- RSA密钥的数据类型转换:由合法的string到PublicKey或PrivateKey
- 将Putty生成的PrivateKey转换为SecureCRT所需的PublicKey
- 将Putty生成的PrivateKey转换为SecureCRT所需的PublicKey
- C++字符串对象(string)
- C++字符串对象(string)
- JavaScript 字符串(String) 对象
- String(字符串)对象javascript
- JavaScript 字符串(String)对象
- 根据字符串生成java对象
- js内置对象(string字符串对象)
- JS 对象(Object)和字符串(String)互转
- JS 对象(Object)和字符串(String)互转
- JS 对象(Object)和字符串(String)互转
- JS 对象(Object)和字符串(String)互转
- JS 对象(Object)和字符串(String)互转
- JS 对象(Object)和字符串(String)互转
- Graphics2D学习
- Winform异步调用WebService
- 优秀blog
- Visual Studio lua 插件
- (最长回文字串)字符串中对称的子字符串的最大长度
- 根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象
- 1018. 锤子剪刀布 (20)
- .htaccess 使用指南开篇
- spark连接web界面
- hdu 2610and2611
- Android 公共库的建立方法
- 开启.htaccess重写之前先来看看mod_rewrite
- Android二个按钮Dialog对话框
- 设计模式之代理模式