添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
霸气的手套  ·  python - Pytorch ...·  1 年前    · 
粗眉毛的啄木鸟  ·  c++ sfml writes to ...·  1 年前    · 
大力的电梯  ·  vba数组合并与拆分-掘金·  1 年前    · 

! python rsa生成是 .pem文件,java中的rsa是一串字符串

python 生成的是pkcs#1 格式的,java好像是pkcs#8的。

python的密钥和公钥是 ' -----BEGIN RSA PUBLIC KEY----- '开头, ' -----END RSA PUBLIC KEY----- '结尾 。

我们公司的 java 公钥和密钥是 按照 X.509 标准进行编码的密钥的字节, 经过 X509EncodedKeySpec 如图

python 和 java 互通 RSA加密解密代码如下:

def encrypt(content):
    # 用公钥加密
    :param content: 加密的字符串
    :return:
    # TODO PRIVE_KEY java端给的公钥
    key = RSA.importKey(base64.b64decode(PRIVE_KEY))
    cipher = PKCS1_v1_5.new(key)
    return base64.b64encode(cipher.encrypt(str(content).encode(encoding='utf-8'))).decode('utf-8')
def decrypt(crypt):
      # 用公钥加密
      :param crypt: 加密的字符串
      :return:
    # TODO PRIVE_KEY java端给的私钥
    rsakey = RSA.importKey(base64.b64decode(PRIVE_KEY))
    cipher = PKCS1_v1_5.new(rsakey)
    return cipher.decrypt(base64.b64decode(crypt), random_generator).decode('utf-8')

在python中私钥和公钥千万别传错,否则会报 ’不支持格式的错误‘