在python中使用sha-256对私钥对进行签名
我想知道如何使用sha-256对私钥进行签名。我已经试过了,但没用。。我怎样才能做好呢?顺便说一下,我使用非对称加密来加密通过网络传输的所有文件在python中使用sha-256对私钥对进行签名,python,encryption-asymmetric,Python,Encryption Asymmetric,我想知道如何使用sha-256对私钥进行签名。我已经试过了,但没用。。我怎样才能做好呢?顺便说一下,我使用非对称加密来加密通过网络传输的所有文件 #!/usr/bin/python from Crypto.PublicKey import RSA from OpenSSL import SSL import socket import hashlib import os #load public key def publicKey():
#!/usr/bin/python
from Crypto.PublicKey import RSA
from OpenSSL import SSL
import socket
import hashlib
import os
#load public key
def publicKey():
with open('public_key.key', 'r') as public_file:
public_key = RSA.importKey(public_file.read())
#load private key
def privateKey():
with open('private_key.key', 'r') as private_file:
private_key = RSA.importKey(private_file.read())
if __name__ == '__main__':
txt = input("what do you want to do?")
首先:不对称加密需要大量的计算能力,对于批量传输,最好只使用对称加密和RSA交换密钥。此外,您的代码不显示任何加密。那么,到目前为止您尝试了什么?我没有使用嵌入式公钥/私钥。我正在从外部文件加载它们等等。到目前为止我做错了吗?我是否必须将我的代码更改为symetric encryption,并在将rsa与该字符串一起使用之后?对消息进行签名意味着您生成了某种东西,证明发送消息的人可以访问您的私钥。如果您将私钥发送给其他人,您的签名将毫无意义。因此,我不确定对私钥进行签名意味着什么。请仅对实际使用私钥的内容使用代码片段。虽然此代码可能会回答此问题,但提供有关如何和/或为什么解决此问题的其他上下文将提高答案的长期价值。
signature = hmac.new(key=private_key, message, digestmod=hashlib.sha256).digest()