import rsa import hashlib import binascii msg = "write here what you want" def sign(data, key_file): """sign @param data: data to be signed @param key_file: private key file path @return: a hex string which is the signature """ key_file = open(key_file, 'rb').read() signature = rsa.sign(data, rsa.PrivateKey.load_pkcs1(key_file), 'SHA-1') return binascii.hexlify(signature) a = sign(msg,"private.pem") print(a)
#这个方法得到的sign值(也就是转16进制后)是256长度的,上篇博客加密后转16进制值512长度的,本篇方法使用的是加签加密一起执行的,不像上篇博客那样严谨,是先加签再分段加密从而进行解签解密,各有优劣,主要看业务要求。