AttributeError: module 'gmssl.sm2' has no attribute 'gen_private_key'是怎么回事
时间: 2023-06-21 08:18:51 浏览: 612
AttributeError: module 'tensorflow.compat.v1' has no attribute '
这个错误通常是由于gmssl库版本不同导致的。在较新的gmssl版本中,`gen_private_key()`函数已经被更改为`generate_private_key()`函数。
您可以尝试使用以下代码替换原有代码,以适配新版本的gmssl库:
```python
from gmssl import sm2, func
# 生成SM2密钥对
private_key = sm2.generate_private_key()
public_key = sm2.get_public_key(private_key)
# 明文消息
msg = b"hello world"
# SM2加密
encrypt_msg = sm2.encrypt(public_key, msg)
# SM2解密
decrypt_msg = sm2.decrypt(private_key, encrypt_msg)
# 打印结果
print("Private Key: ", private_key)
print("Public Key: ", public_key)
print("Encrypt Message: ", func.bytes_to_hex(encrypt_msg))
print("Decrypt Message: ", decrypt_msg)
```
如果仍然遇到问题,请尝试更新gmssl库到最新版本。您可以使用以下命令进行更新:
```
pip install --upgrade gmssl
```
阅读全文