在Python中使用gmssl包实现SM2加密和解密
首先,确保安装了gmssl
包。如果没有安装,可以使用pip进行安装:
pip install gmssl
以下是使用gmssl
进行SM2加密和解密的示例代码:
import gmssl
from gmssl import sm2
from gmssl import func
# 生成SM2密钥对
(sk, pk) = sm2.generate_params()
# 将私钥和公钥转换为十六进制字符串
sk_hex = sm2.int_to_hex(sk)
pk_hex = sm2.int_to_hex(pk)
# 需要加密的数据
data = b"Hello, SM2!"
# 对数据进行加密
cipher_text = sm2.encrypt(pk, data)
cipher_text_hex = sm2.bytes_to_hex(cipher_text)
# 对数据进行解密
decrypted_text = sm2.decrypt(sk, cipher_text)
print(f"Original Data: {data}")
print(f"Cipher Text (hex): {cipher_text_hex}")
print(f"Decrypted Data: {decrypted_text}")
这段代码展示了如何生成SM2密钥对、如何加密数据、如何将加密后的数据转换为十六进制字符串,以及如何对十六进制字符串进行解密。在实际应用中,私钥应当严格保管,而公钥可以公开给需要通信的其他方。
评论已关闭