Beispiel #1
0
    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)
Beispiel #2
0
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
Beispiel #4
0
    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