import base64
import binascii
from Common.tools.gmssl import sm2, func
# sm2的公私钥 已隐藏可直接填写贵公司开发给你的公私钥
SM2_PRIVATE_KEY = '*****************************' # 私钥
SM2_PUBLIC_KEY = '04*************************************************' \
'37ab23ef3ee70f4fcac903d40ef2e59d32dd70fe0f1c41449fae6453d28930d01916ced69' # 公钥
def get_sm2(data):
"""加密
:param data: 传入值必须是这样的格式,如:b"123456"
:return: 加密的数值
"""
private_key = SM2_PRIVATE_KEY
# 分割"04"
public_key = SM2_PUBLIC_KEY.split('04', 1)[-1]
# print(type(public_key))
sm2_crypt = sm2.CryptSM2(
public_key=public_key, private_key=private_key)
# data = b"111"
# 加密
enc_data = sm2_crypt.encrypt(data)
# print("enc_data:%s" % enc_data)
# print("enc_data_base64:%s" % base64.b64encode(bytes.fromhex(enc_data)))
# 解密
dec_data = sm2_crypt.decrypt(enc_data)
# print(b"dec_data:%s" % dec_data)
if data == dec_data:
return enc_data
源码地址
链接:https://pan.baidu.com/s/1niHzBAPkAUjqc-znAsLQvw
提取码:zsho