python如何进行签名及验签
时间: 2023-07-04 16:30:08 浏览: 67
Python可以使用cryptography库进行签名和验签。
首先,需要安装cryptography库,可以使用以下命令进行安装:
```
pip install cryptography
```
接下来,我们可以使用RSA算法进行签名和验签,具体步骤如下:
1. 生成RSA密钥对
```python
from cryptography.hazmat.primitives.asymmetric import rsa
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048
)
public_key = private_key.public_key()
```
2. 对数据进行签名
```python
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
message = b"Hello, world!"
signature = private_key.sign(
message,
padding.PSS(
mgf=padding.MGF1(hashes.SHA256()),
salt_length=padding.PSS.MAX_LENGTH
),
hashes.SHA256()
)
```
3. 对签名进行验签
```python
try:
public_key.verify(
signature,
message,
padding.PSS(
mgf=padding.MGF1(hashes.SHA256()),
salt_length=padding.PSS.MAX_LENGTH
),
hashes.SHA256()
)
print("Signature is valid.")
except:
print("Signature is invalid.")
```
以上就是使用cryptography库进行RSA签名和验签的基本步骤。