RSA 签名的实现python
时间: 2024-05-25 12:09:21 浏览: 159
基于python的RSA算法数字签名生成软件设计与实现.docx
5星 · 资源好评率100%
RSA签名是一种常用的数字签名算法,它使用非对称加密技术,通过公钥进行加密,私钥进行解密。Python可以通过PyCryptodome库实现RSA签名。下面是一个简单的示例代码:
```
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA256
from Crypto.PublicKey import RSA
# 生成RSA密钥对
key = RSA.generate(2048)
# 获取私钥和公钥
private_key = key.export_key()
public_key = key.publickey().export_key()
# 用私钥对消息进行签名
message = b'hello, world'
hash_obj = SHA256.new(message)
signer = PKCS1_v1_5.new(key)
signature = signer.sign(hash_obj)
# 验证签名是否正确
hash_obj = SHA256.new(message)
verifier = PKCS1_v1_5.new(key.publickey())
if verifier.verify(hash_obj, signature):
print("Signature is valid")
else:
print("Signature is invalid")
```
以上代码演示了如何生成RSA密钥对,使用私钥对消息进行签名,并使用公钥验证签名的过程。你可以根据自己的实际需求进行修改和扩展。
阅读全文