You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
885 B

from lib.gmssl import sm2, func
kp = sm2.CryptSM2(public_key='', private_key='')
private_key = kp.get_random_d(16)
public_key = kp.get_pa(private_key)
print("\nprivate_key & public_key")
print("private_key:%s" % private_key)
print("public_key:%s" % public_key)
if __name__ == '__main__':
sm2_crypt = sm2.CryptSM2(public_key=public_key, private_key=private_key)
data = "Python测试".encode()
print("\nencrypt & decrypt")
enc_data = sm2_crypt.encrypt(data)
print("enc_data:%s" % enc_data)
dec_data = sm2_crypt.decrypt(enc_data)
print("dec_data:%s" % dec_data.decode())
assert data == dec_data
print("\nsign & verify")
random_hex_str = func.random_hex(sm2_crypt.para_len)
sign = sm2_crypt.sign(data, random_hex_str)
print('sign:%s' % sign)
verify = sm2_crypt.verify(sign, data)
print('verify:%s' % verify)
assert verify