采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
使用openssl生成以下私钥,为什么跟java打印出来的私钥不一样
openssl 输出的是 pem格式的密钥,而这段 java 代码输出的密钥中的大数字(采用hex十六进制格式表达)。
本质上都是表达同样的东西,采用的表达方式不同而已。如果把 java RSAPrivateKey 对象中的 e p q d n 等数字按照标准格式 pem 进行封装输出,就能得到与 openssl 一样的可视格式。
可以参考下面的代码,可以输出pem格式:
PrivateKey key = __keyPair__.getPrivate(); StringWriter writer = new StringWriter(); try (JcaPEMWriter pw = new JcaPEMWriter(writer)) { pw.writeObject(key); } System.out.println(writer.toString());
其中用到的依赖是:
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk18on</artifactId> <version>1.71</version> </dependency>
登录后可查看更多问答,登录/注册
万物互联时代,更新你的安全保障能力
864 6
911 4
859 4
1.4k 3
718 3
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号