Python 密码生成器(使用随机长度范围定义字符集和密码长度)

Python 密码生成器(使用随机长度范围定义字符集和密码长度),python,Python,我有一个密码生成器的简短代码摘录。您可以在这里看到,它使用随机函数生成一个13字符长的密码 import random length=13 ListOfChars=[] codes=list(range(48,57))+list(range(65,90))+list(range(97,122)) for a in range(length): ASCIIcode=random.choice(codes) ListOfChars.append(chr(ASCIIcode)) pri

我有一个密码生成器的简短代码摘录。您可以在这里看到,它使用随机函数生成一个13字符长的密码

import random
length=13
ListOfChars=[]
codes=list(range(48,57))+list(range(65,90))+list(range(97,122))
for a in range(length):
    ASCIIcode=random.choice(codes)
    ListOfChars.append(chr(ASCIIcode))
print(''.join(ListOfChars))
第一,那行开头的字符有点乱。还有其他表达字符范围或字符集的方法吗?也许我只是想要字母字符什么的?(因为字母字符是0-9和A-Z,所以这只是删除行末尾的符号吗?)

第二,我想这是一个更直截了当的问题。我正在尝试使用随机函数生成一个随机长度的密码?在伪代码中,我想象它是这样的

password.length = rand(5-10)
但我还没有太多的射程经验

这是我为密码生成器运行的代码

import os, random, string

length = 13
chars = string.ascii_letters + string.digits + '!@#$%^&*()'
random.seed = (os.urandom(1024))

print ''.join(random.choice(chars) for i in range(length))
如果有人能解释一种更简单的定义字符集的方法,或者只定义字母字符(即a-Z和0-9),那就太好了。

像这样

import string
import random

def id_generator(size=13, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

print "Your password is: ", id_generator()
像这样

import string
import random

def id_generator(size=13, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

print "Your password is: ", id_generator()
像这样

import string
import random

def id_generator(size=13, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

print "Your password is: ", id_generator()
像这样

import string
import random

def id_generator(size=13, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

print "Your password is: ", id_generator()
这将创建一个密码,该密码仅使用标准键盘上可用的键

这将创建一个密码,该密码仅使用标准键盘上可用的键

这将创建一个密码,该密码仅使用标准键盘上可用的键


这将创建一个密码,该密码只使用标准键盘上可用的键。

这个替代我的另一个答案将只在密码中使用字母数字字符

import random
length=13
ListOfChars=[]
codes=list(range(48,57))+list(range(65,90))+list(range(97,122))
for a in range(length):
    ASCIIcode=random.choice(codes)
    ListOfChars.append(chr(ASCIIcode))
print(''.join(ListOfChars))

我的另一个答案的替代方案是在密码中只使用字母数字字符

import random
length=13
ListOfChars=[]
codes=list(range(48,57))+list(range(65,90))+list(range(97,122))
for a in range(length):
    ASCIIcode=random.choice(codes)
    ListOfChars.append(chr(ASCIIcode))
print(''.join(ListOfChars))

我的另一个答案的替代方案是在密码中只使用字母数字字符

import random
length=13
ListOfChars=[]
codes=list(range(48,57))+list(range(65,90))+list(range(97,122))
for a in range(length):
    ASCIIcode=random.choice(codes)
    ListOfChars.append(chr(ASCIIcode))
print(''.join(ListOfChars))

我的另一个答案的替代方案是在密码中只使用字母数字字符

import random
length=13
ListOfChars=[]
codes=list(range(48,57))+list(range(65,90))+list(range(97,122))
for a in range(length):
    ASCIIcode=random.choice(codes)
    ListOfChars.append(chr(ASCIIcode))
print(''.join(ListOfChars))

我正在尝试使用随机函数生成一个随机长度的密码?我知道它有一个问号,但这不是一个问题。无论如何,要找到如何使用python random生成一个随机数需要大约0.5秒的谷歌搜索。如果你想检查字符串中的字母、数字或两者,你可以使用
.isalnum()
任何其他方法,而正则表达式将是你最好的选择。我是否尝试使用随机函数生成一个随机长度的密码?我知道它有一个问号,但这不是一个问题。无论如何,要找到如何使用python random生成一个随机数需要大约0.5秒的谷歌搜索。如果你想检查字符串中的字母、数字或两者,你可以使用
.isalnum()
任何其他方法,而正则表达式将是你最好的选择。我是否尝试使用随机函数生成一个随机长度的密码?我知道它有一个问号,但这不是一个问题。无论如何,要找到如何使用python random生成一个随机数需要大约0.5秒的谷歌搜索。如果你想检查字符串中的字母、数字或两者,你可以使用
.isalnum()
任何其他方法,而正则表达式将是你最好的选择。我是否尝试使用随机函数生成一个随机长度的密码?我知道它有一个问号,但这不是一个问题。无论如何,要找到如何使用python random生成一个随机数需要大约0.5秒的谷歌搜索。如果你想检查字符串中的字母、数字或两者,你可以使用
.isalnum()
除此之外的任何东西,正则表达式将是你最好的选择,对我来说也是最好的!!谢谢Hehir先生。太好了,对不起,我忘了说如何指定随机密码长度。你可以写length=random.randint(a,b),其中a和b是你的边界(它可以返回的值的范围包括a和b)。对我来说效果最好!!谢谢Hehir先生。太好了,对不起,我忘了说如何指定随机密码长度。你可以写length=random.randint(a,b),其中a和b是你的边界(它可以返回的值的范围包括a和b)。对我来说效果最好!!谢谢Hehir先生。太好了,对不起,我忘了说如何指定随机密码长度。你可以写length=random.randint(a,b),其中a和b是你的边界(它可以返回的值的范围包括a和b)。对我来说效果最好!!谢谢Hehir先生。太好了,对不起,我忘了说如何指定随机密码长度。您可以通过写入length=random.randint(a,b)来实现这一点,其中a和b是您的边界(它可以返回的值的范围包括a和b)。非常好!喜欢像其他解决方案一样使用小写和大写,但这也很好。效果很好!喜欢像其他解决方案一样使用小写和大写,但这也很好。效果很好!喜欢像其他解决方案一样使用小写和大写,但这也很好。效果很好!喜欢像其他解决方案一样使用小写和大写,但这也很好。