我有一个字符串,我需要使用我的私钥为其生成数字签名吗?如何在Python中完成?
最佳答案
您可以使用Cryptography模块先使用RSA来先将generate a private key再使用sign your string,然后再使用RSA:
# Generate a private key
>>> from cryptography.hazmat.backends import default_backend
>>> from cryptography.hazmat.primitives.asymmetric import rsa
>>> private_key = rsa.generate_private_key(
... public_exponent=65537,
... key_size=2048,
... backend=default_backend()
... )
# Sign a message using the key
>>> from cryptography.hazmat.primitives import hashes
>>> from cryptography.hazmat.primitives.asymmetric import padding
>>> message = b"A message I want to sign"
>>> signature = private_key.sign(
... message,
... padding.PSS(
... mgf=padding.MGF1(hashes.SHA256()),
... salt_length=padding.PSS.MAX_LENGTH
... ),
... hashes.SHA256()
... )
如果您已经具有要使用的私钥,则可以load it而不是生成新的私钥。关于python - 如何在Python中生成字符串的数字签名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48240551/