是否有一种更安全的随机化方法,很难重现?
我试图让用户输入一个种子来创建更安全的密码,这样就很难重复相同的种子,但是我想知道是否有更好的/自动的方式来做到这一点?
import random
import string
LENGTH = input("How long do you want your password?: ")
SEED = input("Seed? (The more random the better)")
GENLIST = list(string.ascii_letters + string.digits)
if SEED != "":
random.seed(SEED)
try:
PASSWORD = ""
for i in range(int(LENGTH)):
PASSWORD += GENLIST[(random.randint(0, 61))]
print()
print(PASSWORD)
except TypeError:
print("Integer not entered")
input()
答案 0 :(得分:3)
使用os.urandom()
,它从相应的设备读取。
答案 1 :(得分:0)
随机documentation上有一节。
警告 出于安全目的,不应使用此模块的伪随机数生成器。如果需要加密安全的伪随机数生成器,请使用os.urandom()或SystemRandom。
我在一个similar问题中发现了这一点,并对该主题进行了更多讨论。