Python密码术生成随机密钥

时间:2017-12-09 00:33:11

标签: python encryption rsa python-cryptography

我正在使用python Cryptography模块,我使用文档中的示例生成了私钥和公钥。我遇到的问题是我希望能够生成不同的密钥对。就像我生成一个但每次运行它时始终生成相同的一个。我和我一样尝试阅读文档,但找不到任何解决方案。感谢。

1 个答案:

答案 0 :(得分:0)

我实际上是在一段时间之前做过的,所以我只是复制/粘贴我的解决方案:)

import os
from Cryptodome.PublicKey import RSA
from Cryptodome import Random

def generate_keypair(bits=2048):
    random_generator = Random.new().read
    rsa_key = RSA.generate(bits, random_generator)
    return rsa_key.exportKey(), rsa_key.publickey().exportKey()

要生成随机密钥,您必须在RSA.generate中包含随机生成器。

更具人性化:

from Cryptodome.PublicKey import RSA
from Cryptodome import Random

def generate_keypair(bits=2048):
    random_generator = Random.new().read
    rsa_key = RSA.generate(bits, random_generator)
    print(repr(rsa_key))
    print(repr(rsa_key.publickey()))

generate_keypair()