duanhongyi / gmssl

a python crypto for sm2/sm3/sm4
MIT License
479 stars 140 forks source link

sm2 encrypt error #1

Closed horshine closed 5 years ago

horshine commented 5 years ago

env: python2.7 ide: pycharm2018.2.3

coding:utf-8

import base64 import binascii from gmssl import sm2, func

16进制的公钥和私钥

private_key = '00B9AB0B828FF68872F21A837FC303668428DEA11DCD1B24429D0C99E24EED83D5' public_key = 'B9C9A6E04E9C91F7BA880429273747D7EF5DDEB0BB2FF6317EB00BEF331A83081A6994B8993F3F5D6EADDDB81872266C87C018FB4162F5AF347B483E24620207' sm2_crypt = sm2.CryptSM2( public_key=public_key, private_key=private_key)

data = b"111" enc_data = sm2_crypt.encrypt(data) print(len(enc_data))

运行结果: Traceback (most recent call last): File "N:/09_tmpcode/scada-tools-master/sm234.py", line 14, in enc_data = sm2_crypt.encrypt(data) File "C:\Anaconda2\lib\site-packages\gmssl\sm2.py", line 190, in encrypt msg = data.hex() # 消息转化为16进制字符串 AttributeError: 'str' object has no attribute 'hex'

Process finished with exit code 1

麻烦帮忙看看,谢谢。

duanhongyi commented 5 years ago

python版本过低,要用3.5以上的

duanhongyi commented 5 years ago

@horshine

horshine commented 5 years ago

感谢 @duanhongyi