Skip to main content
 首页 » 编程设计

python之如何在 Python 中生成字符串的数字签名

2025年05月04日29kevingrace

我有一个字符串,我需要使用我的私钥为它生成一个数字签名?我怎样才能在 Python 中做到这一点?

请您参考如下方法:

您可以使用 Cryptography模块到 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而不是生成一个新的。