【发布时间】:2021-01-06 23:47:00
【问题描述】:
我在 python 中使用下面的模块进行rsa 加密。
https://github.com/sybrenstuvel/python-rsa
可以通过pip安装如下pip3 install rsa
我在这里读过使用这个模块:https://github.com/sybrenstuvel/python-rsa/blob/master/doc/usage.rst
我能够生成公钥和私钥,还可以使用以下代码使用公钥加密消息
import rsa
pubKey, priKey = rsa.newkeys(1024)
print("Public key: ",pubKey)
print("Private key: ",priKey)
msg = "vinay kumar shukla".encode('utf8')
print("Message without encryption:",msg)
msgEnc = rsa.encrypt(msg, pubKey)
print("encrypted message:",msgEnc)
但我想将私钥存储到某个文件中,正如您可以在此模块的使用文件中看到的那样,他们提供了从.pem 文件中读取密钥的方法,因此这意味着我应该存储密钥也在pem 文件中,但我不知道如何将此模块生成的密钥存储到文件中。
当我打印这个模块生成的私钥时,它给了我以下输出
PrivateKey(8647494628885176696347621451257950700244697066080136004727560667550523829374958314554596272099668415472356485265099323795859891239567212729331504592847959, 65537, 80620400968137738399200401402545247384675983145016755403642821122013062179228267902734675759971390409853232911734749752372599473758015795215587460952985, 6068766834338315918835399238932380729501892761840591316766866213831546939444337723, 1424917922362067845458877023625137340152906787710542109910805914692739733)
如果我创建文件key.pem 并将此密钥存储到文件中,则存储此密钥。该文件的内容是
-----BEGIN RSA PRIVATE KEY-----
PrivateKey(8647494628885176696347621451257950700244697066080136004727560667550523829374958314554596272099668415472356485265099323795859891239567212729331504592847959, 65537, 80620400968137738399200401402545247384675983145016755403642821122013062179228267902734675759971390409853232911734749752372599473758015795215587460952985, 6068766834338315918835399238932380729501892761840591316766866213831546939444337723, 1424917922362067845458877023625137340152906787710542109910805914692739733)
-----END RSA PRIVATE KEY-----
当我尝试读取它时,它给了我padding error etc 之类的错误,请告诉我如何存储这些密钥,然后读取它以进行解密。
【问题讨论】:
标签: python encryption rsa