当前位置: 首页 > 工具软件 > gmssl-python > 使用案例 >

Gmssl-Python sm2加密方式已封装

微生昌胤
2023-12-01
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

 类似资料: