python加密解密 sha256_如何在python上使用RSA私钥和SHA256解密
我正在为学校学习如何使用公钥和私钥加密和解密文件。在我用这个代码来编码信息。(生成公钥≠非私钥错误)from Crypto.Signature import pkcs1_15from Crypto.Hash import SHA256from Crypto.PublicKey import RSAdef signing():#open file = message als binarymessag
我正在为学校学习如何使用公钥和私钥加密和解密文件。在
我用这个代码来编码信息。(生成公钥≠非私钥错误)from Crypto.Signature import pkcs1_15
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
def signing():
#open file = message als binary
message = open('C:/Users/Gebruiker/Desktop/message.txt', "rb").read()
#open public key -> key
key = RSA.import_key(open('C:/Users/Gebruiker/Desktop/public.pem').read())
#message becomes a hash
h = SHA256.new(message)
#f = open file as write binary
f = open('C:/Users/Gebruiker/Desktop/message.signature', 'wb')
# sign hash message with private key
signature = pkcs1_15.new(key).sign(h)
#write signed hash to file
f.write(signature)
f.close()
但现在我正试图解码这条信息,我发现所有这些人都以不同的方式进行解码,并使用不同类型的编码和加密。我找不到一个明确的答案。在
我现在有的是这个
首先,我得把这封信读出来
^{pr2}$
然后我打开我的私钥key = RSA.import_key(open('C:/Users/Gebruiker/Desktop/private.pem').read())
因为我是用二进制来写和读的,所以我必须把它转换成散列h = SHA256.new(f)
然后我必须用我的私钥解密散列。???在
相反,我看到很多人用这种东西。在h = pkcs1_15.new(key).sign(h) # sign hash message with private key
我不明白。你应该把它解码对吗?别再签了。对我来说这是不合理的。在
现在我有两个问题。在我收到一个编码错误,说我的公钥不是私钥。这有点像是公开密钥的权利。所以只有私钥才能解密?为什么我会出错?在
我不知道如何继续解密我的信息
有人能帮我吗?在
非常感谢!在
更多推荐
所有评论(0)