根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象

2012-05-29

0

1、字符串生成公钥对象 PublicKey

/**

* 实例化公钥

*

* @return

*/

private PublicKey getPubKey() {

PublicKey publicKey = null;

try {

// 自己的公钥(测试)

String pubKey ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVRiDkEKXy/KBTe+UmkA+feq1zGWIgBxkgbz7aBJGb5+eMKKoiDRoEHzlGndwFKm4mQWNftuMOfNcogzYpGKSEfC7sqfBPDHsGPZixMWzL3J10zkMTWo6MDIXKKqMG1Pgeq1wENfJjcYSU/enYSZkg3rFTOaBSFId+rrPjPo7Y4wIDAQAB";

java.security.spec.X509EncodedKeySpec bobPubKeySpec = new java.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;

}

0

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

java privatekey输出字符串_[Java教程]根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象_星空网...相关推荐

  1. java substring截取字符串_java基础教程之字符串的介绍,比较重要的一个知识点【下】...

    字符串操作 1.获取子字符串 通过String类的substring()方法可对字符串进行截取.这些方法的共同点就是都是利用字符串的下标进行截取.应明确字符串下标是从0开始的. substring() ...

  2. java用输出v形,Java之循环输出等腰三角形

    public class aaa{ public static void main(String[] args) { int max=5; for(int i=1;i<=5;i++){//控制行 ...

  3. java中输出拼json,java poi 解析excel 输出json 并且拼接字符串显示到jsp

    ##js代码 $(function() { $("#file_form").submit( function() { //首先验证文件格式 var fileName = $('#f ...

  4. java格式化输出双精度小数,用Java格式化双精度类型

    假设我们有以下三个值-double val1 = 15.546; double val2 = 25.87; double val3 = Math.PI; 现在让我们格式化这些双精度型数字.首先,我们使 ...

  5. 随便输入两个单词,两个单词之间以空格隔开,输出时每个单词的首字母变为大写。如输入:“hello java”,输出为“Hello Java”

    话不多说,上代码 @Testpublic void test1(){StringBuilder sb = new StringBuilder();String str = "hello ja ...

  6. java排序输出序号_Java对map进行排序并生成序号

    最近做的项目有这样一个需求:要求对map中的值进行排序并生成序号.如果值相等则序号不变:如果不相等序号为该数数值在所有元素中的索引.如下表所示: Key(String) Value(Float) Id ...

  7. java 界面输出控制台信息,java 怎么获取控制台的数据并且输出到GUI上

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 以前做过,给个参考.为防止格式错乱,以下代码用base64解码一下得到格式良好的代码. aW1wb3J0IG9yZy5qdW5pdC5UZXN0OwoKa ...

  8. java输出语句没有输出,JAVA语句输出问题

    JAVA语句输出问题 public static void main(String args[]) { String s1 ="床前明月光,疑是地上霜.举头望明月,低头思故乡."; ...

  9. Java格式化输出时间

    Java格式化输出时间 在Java中如何将一个时间格式化为标准形式: 1.获取当前时间,并设置为标准年月日时分秒格式 SimpleDateFormat simpleDateFormat = new S ...

最新文章

  1. android crash 定位,Android NDK Crash 定位分析
  2. Win7系统十个不能关闭的服务
  3. Matlab 工具箱
  4. 用 pandas + matplotlib 绘制精美的K线图
  5. Ocelot简易教程(七)之配置文件数据库存储插件源码解析
  6. 数据库主键设计之思考(转)
  7. java关键字整理_【java基础知识整理】java基础语法之关键字
  8. Leetcode算法题(C语言)12--旋转图像
  9. 生产环境几个实用的命令整理(一)
  10. TriumphX与Metaverse NFT艺术家RisingSun签署专属合同
  11. 怎么理解python循环_如何理解Python的循环设计
  12. java abs是什么意思_java math.abs
  13. 2D地图tile纹理自动拼接算法
  14. 透明FLASH的插入方法
  15. Layui的下拉框样式失效问题
  16. 2021-CISCN-fianl-ezj4va
  17. 苹果ios9.2 html白屏,苹果游戏中心白屏怎么办 苹果游戏中心白屏解决方法【详解】...
  18. HDU6148-Valley Numer【数位dp】
  19. golang多版本管理工具g使用(windows)
  20. 懒惰的苏珊 UVa1620

热门文章

  1. 十句话,不黄不色,但很经典~~~~~~~~~~
  2. 人人开源搭建后台管理系统 逆向工程生成CRUD代码
  3. 怎么卸载虚幻4_专访Epic Games:虚幻引擎5离手游近在咫尺,中小团队也能很快上手...
  4. AnySDK吉祥物征名活动开始啦!
  5. 喜报 | 强强联手,这件大事终于有着落了
  6. /dev/tty、/dev/ttyS/、/dev/ttyUSB区别
  7. 笔记 | 人工智能导论 语义网络表示
  8. raid5什么意思?如何做raid5?raid5 几块硬盘?
  9. ArGIS Engine专题(6)之利用GP水文分析工具实现基于DEM的山脊线提取
  10. 文本相似性处理(好比论文查重)