怎么用python生成非对称密钥
时间: 2023-10-01 22:09:23 浏览: 98
非对称密钥
你可以使用Python的cryptography库中的RSA算法生成非对称密钥。以下是示例代码:
```python
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization, hashes
# 生成密钥对
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()
# 序列化私钥和公钥
private_key_pem = private_key.private_bytes(encoding=serialization.Encoding.PEM, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption())
public_key_pem = public_key.public_bytes(encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo)
# 将密钥对保存到文件
with open('private_key.pem', 'wb') as f:
f.write(private_key_pem)
with open('public_key.pem', 'wb') as f:
f.write(public_key_pem)
```
该代码将生成一个包含私钥和公钥的密钥对,并将其保存到名为private_key.pem和public_key.pem的文件中。私钥应该保持安全,不应该公开。公钥可以被分享给其他人,以便他们可以使用它来加密数据,并将加密后的数据通过私钥持有者解密。
阅读全文