赞
踩
from Crypto.Cipher import AES, PKCS1_OAEP # from Crypto.Cipher import SM2Cipher from Crypto.Hash import SHA256 from Crypto.PublicKey import ECC from Crypto import Random from gmssl import sm2 public_key = 'B9C9A6E04E9C91F7BA880429273747D7EF5DDEB0BB2FF6317EB00BEF331A83081A6994B8993F3F5D6EADDDB81872266C87C018FB4162F5AF347B483E24620207' private_key = '00B9AB0B828FF68872F21A837FC303668428DEA11DCD1B24429D0C99E24EED83D5' sm2_cry = sm2.CryptSM2(public_key=public_key, private_key=private_key) data="hello world" #私钥加密 enc_data = sm2_cry.encrypt(data.encode('utf-8')) print(enc_data.hex()) #公钥解密 dec_data = sm2_cry.decrypt(enc_data) print(dec_data) #私钥签名 signature = sm2_cry.sign(data.encode('utf-8'), private_key) print(signature) # 验证签名 verify_result = sm2_cry.verify(signature, data.encode('utf-8')) print(verify_result)
注意:加密时数据格式是C1C2C3,验签时不计算Z值

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。