def add_new_transaction(self, transaction): #print(transaction) content = transaction['content'] #content = content.encode("utf8") random_gen = Random.new().read #生成秘钥对实例对象:1024是秘钥的长度 rsa = RSA.generate(1024, random_gen) # 获取公钥,保存到文件 private_pem = rsa.exportKey() private_key_path = transaction['author'] + '_private.pem' with open(private_key_path, 'wb') as f: f.write(private_pem) # 获取私钥保存到文件 public_pem = rsa.publickey().exportKey() public_key_path = transaction['author'] + '_public.pem' with open(public_key_path, 'wb') as f: f.write(public_pem) signature = rsa_sign(content, private_key_path) print('signature: ', signature) transaction['signature'] = signature #verify = rsa_verify(content, signature, public_key_path) #print(verify) self.unconfirmed_transactions.append(transaction)
def generateKey(): random_generator = Random.new().read rsa = RSA.generate(1024, random_generator) private_pem = rsa.exportKey() public_pem = rsa.publickey().exportKey() return {'pubkey': public_pem, 'privkey': private_pem}
def generate_rsa_keys(self): """RSA秘钥对生成""" rsa_count = 1024 # 随机数生成器 random_generator = Random.new().read # rsa算法生成实例 rsa = RSA.generate(rsa_count, random_generator) # master的秘钥对的生成 rsa_public_key = rsa.publickey().exportKey() rsa_private_key = rsa.exportKey() # with open(private_key, "wb") as f: # f.write(rsa_public_key) # with open(public_key, "wb") as f: # f.write(rsa_private_key) return rsa_public_key, rsa_private_key
def generator_key(self, ): random_generator = Random.new().read rsa = RSA.generate(1024, random_generator) private_pem = rsa.exportKey() print('私钥:') print(private_pem) # with open('master-private.pem', 'wb') as f: # f.write(private_pem) public_pem = rsa.publickey().exportKey() print("公钥:") print(public_pem) # with open('master-public.pem', 'wb') as f: # f.write(public_pem) dict = {"public": public_pem, "private": private_pem} return dict