Python 密码学生成随机密钥
Python Cryptography Generate Random Keys
我正在使用 python 加密模块,并且我使用文档中的示例生成了私钥和 public 密钥。我遇到的问题是我希望能够生成不同的密钥对。就像我生成一个一样,但每次我 运行 它总是生成同一个。我已经尽可能多地阅读文档,但找不到任何解决此问题的方法。谢谢
实际上我不久前就这样做了,所以我只是 copy/paste 我的解决方案:)
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()
我正在使用 python 加密模块,并且我使用文档中的示例生成了私钥和 public 密钥。我遇到的问题是我希望能够生成不同的密钥对。就像我生成一个一样,但每次我 运行 它总是生成同一个。我已经尽可能多地阅读文档,但找不到任何解决此问题的方法。谢谢
实际上我不久前就这样做了,所以我只是 copy/paste 我的解决方案:)
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()