python加密解密 sha256_如何在python上使用RSA私钥和SHA256解密

我正在为学校学习如何使用公钥和私钥加密和解密文件。在

我用这个代码来编码信息。(生成公钥≠非私钥错误)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

我不明白。你应该把它解码对吗?别再签了。对我来说这是不合理的。在

现在我有两个问题。在我收到一个编码错误,说我的公钥不是私钥。这有点像是公开密钥的权利。所以只有私钥才能解密?为什么我会出错?在

我不知道如何继续解密我的信息

有人能帮我吗?在

非常感谢!在

你可能感兴趣的:(python加密解密,sha256)