Python RSA 类库 与 JSEncrypt.js 类库 生成的公钥不通用

新手上路,请多包涵

Python RSA 类库生成的 PublicKey格式为PKCS#1 v1.5,PEM和DER格式,ASN.1型RSAPublicKey
Python RSA类库生成的PublicKey和 JSEncrypt生成的PublicKey 头部标识也不一样

Python Code

import rsa
import os
import binascii
class Secret(object):
    def __init__(self):  # 初始化密钥类
        (pub_key, pri_key) = rsa.newkeys(1024)  # 生成密钥对
        print('PublicKey',pub_key.save_pkcs1())

PublicKey b'-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAIPhWqMDeBFdwPHHLhKeeLu+Rfgxgne+nTD0T68stKqi4FFDpk+yluyN
9QwzJJ3znyZCKXNpNvN/MfjejMDcfL6RBIqlF+XiBfHGJ3p+EKU+aq+apLAAYRu4
u4XPBDbn80tTJj3U88WE1bgnWxDt8Lrpq6R4FNfcUKDufZXSyuBdAgMBAAE=
-----END RSA PUBLIC KEY-----\n'

JS Code

<script src="../static/js/jquery-3.2.1.min.js"></script>
<script src="../static/js/jsencrypt.min.js"></script>
<script type="text/javascript">
    $(function () {
            var encrypt = new JSEncrypt();
            console.log(encrypt.getPublicKey())
     });
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2F44MFUBOfOpmhBNtAsFH6dZf
KAXk6Bq7oq7f+sDZ2+x45zrEp8zQFB9CCeFqMZy159QINH0nz/E/OQO5llnfJAtf
DptxX4kidlCcemdbiFnPlt63xQxPRGU9JnfvP6YhR3fwZgPNPCU43cTdMkqv0U9B
G1ZCnYVNC7cZ65B0kQIDAQAB
-----END PUBLIC KEY-----
         
         

使用Python RSA类库生成的PublicKey 可以与自己生成的PrivateKey 配对进行加密解密(JSEncrypt同理)
但是使用RSA类库生成的PublicKey 无法使用JSEncrypt.js进行加密 但是可以使用RSA生成的私钥再JSEncrypt里面进行解密
如何让RSA类库生成的公钥 再 JSEncrypt.js里面进行加密呢?

阅读 3.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题