javascript - 从数字生成公钥

标签 javascript encryption rsa jsbn

我在 javascript 中使用 RSA 来自:http://www-cs-students.stanford.edu/~tjw/jsbn/

在他们的演示页面上,它能够生成所需的 key :http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html

但我不明白的是,如何将十六进制字符串的一些变量的 key 转换为看起来像私钥/公钥字符串的字符串。

他们的输出看起来像这样......

Modulus (hex):
a32464be9bef16a6186a7f29d5ebc3223346faab91ea10cc00e68ba26322a1b0
3dc3e1ec61832fca37ed84018db73ae6b79bd8f3fa2945c8606766402658d0c1

Public exponent (hex, F4=0x10001):
10001

Private exponent (hex):
c3f5730d81402e7453df97df2895884e0c49b5cf5ff54737c3dd28dc6537b3fd
8b0eb2fd82148ebbf81fe16128ec1ebf39fd9a6e62d42aad245b172f4ed8661

P (hex):
f542cdc91f73747ecc20076962a2ed91749b8e0af66693ba6f67dd92f99b1533

Q (hex):
aa491917d8b05a75db7a5c1f6b592b0f0a9bb30a530cbef44ae233b9bf3d5a3b

D mod (P-1) (hex):
e5bfbea639201e70e926d7ca90ebaf4022cbd533cfbe2784edf78e48b029e6a1

D mod (Q-1) (hex):
3e3e17d8fa9083903ed83be21427f4b03bcd6ba523742e3c373ef56f38b2e14f

1/Q mod P (hex):
d93a8828e23458c2115fc1dd003274485af1483e8ec35866d5cffd214c5f853e

我希望私钥看起来像这样......

-----BEGIN RSA PRIVATE KEY-----
MIIBOQIBAAJBALH5w2R5Zl3hHoH7zDF6i5IbO7W1Ry9bT2bxTy2sJa7mZC+p3rQG
YNrX+M/KuOUuVqFaohrWLwU28+VlFjFHG5MCAwEAAQJAFZCi+Viwa62saamd+1zS
7pg4KvNVNcrFmz6gDnOueTujcBdaNfxOzWy39SxSOtPe62qYHPculci/QiJfLvOf
MQIhAOqxj69QPRqervf6ARMI1zV0+UAGA1tWgOeU7NH0U9vLAiEAwiIJu+986PKT
qmjAKDFx3OJxUuEay8kJ5apDjC6s1lkCIBVRdazGDBbb7SbHRcu11N6dNnrTUQC9
9c2TYIOdvvRLAiB7bbDKsKW2ZiTEv/0MkQNX8REkJMMothV41BxGUJbLYQIgF/yA
54gqfRtj3aPB6lDETMOZbZIWgNpn8hU2kFGdlIs=
-----END RSA PRIVATE KEY-----

最佳答案

您熟悉的私钥和公钥采用称为 PEM 的格式。 PEM指的是页眉和页脚包装base64编码的数据。

编码后的二进制数据采用 ASN.1(抽象语法表示法一)的 DER(可分辨编码规则)格式。

这是一个 javascript ASN.1 解码器。 http://lapo.it/asn1js/

公钥和私钥分别包含模数和公钥或私钥。

关于javascript - 从数字生成公钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14713200/

相关文章:

c# - 验证 TLS 电子邮件接收

android - 编译时文件已加密或不是数据库 : ,:select count(*) from sqlite_master;

JAVA JSch连接CISCO设备65XX路由器

javascript - 读取嵌套文件夹中的 json 文件

javascript - 在 Angular App 中通过 RouterLink 处理动态 URL 参数

java - 此代码中 AES key 所需的大小是多少?

javascript - 使用 JSBN 为 Javascript RSA key 生成选择 N 和 E

cryptography - RSA 和 rsa -des3 有什么区别?

javascript - 显示数组中的下一张和上一张图像并使用 Javascript 显示

javascript - 如何在 React 中对 jsx 中的元素进行排序?