Python: 创建多个唯一密码

Python: Creating multiple unique passwords

我正在尝试创建一个生成 X 个随机密码的脚本。我已经为 1 个案例排序了密码生成部分,但是当我尝试添加 2 个或更多案例时,它会为所有案例生成相同的密码。代码和结果如下:

import string
import secrets

def random_secure_string(stringLength):
    secureStr = ''.join((secrets.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits + string.punctuation) for i in range(stringLength)))
    return secureStr

Entities = ["MM","OO"]

Password = [random_secure_string(10)]

for x in Entities:
    for y in Password:
      print(x + ' ' + '=' + ' ' + y)

这个returns下面

谁能帮忙生成MM的唯一密码和OO的唯一密码? 谢谢

单独调用 random_secure_string 应该会有帮助。

Password = [random_secure_string(10), random_secure_string(10)]

我更愿意在循环内显式生成密码

Entities = ["MM","OO"]

for x in Entities:

    print(x + ' ' + '=' + ' ' + random_secure_string(10))

正如我在上面评论的那样,您只调用了一次密码生成器函数。您可以在每个 运行.

处生成不同的密码

这就是您要找的:

import string
import secrets

def random_secure_string(stringLength):
    secureStr = ''.join((secrets.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits + string.punctuation) for i in range(stringLength)))
    return secureStr

entities = ["MM","OO"]

# generate 2 passwords
passwords = [random_secure_string(10),random_secure_string(10)]

for (i, entity) in enumerate(entities):
    print(entity + ' ' + '=' + ' ' + passwords[i])