【问题标题】:Python: Creating multiple unique passwordsPython:创建多个唯一密码
【发布时间】:2020-05-12 10:46:00
【问题描述】:

我正在尝试创建一个生成 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)

这将返回以下内容

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

【问题讨论】:

  • 您只创建了一个密码,调用相同的函数生成一些新密码。

标签: python loops passwords unique


【解决方案1】:

单独调用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))

【讨论】:

    【解决方案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"]
    
    # generate 2 passwords
    passwords = [random_secure_string(10),random_secure_string(10)]
    
    for (i, entity) in enumerate(entities):
        print(entity + ' ' + '=' + ' ' + passwords[i])
    

    【讨论】:

      猜你喜欢
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 2012-08-26
      • 2019-06-03
      相关资源
      最近更新 更多