python随机生成密码本(Python版的迷你程序随机密码生成器)
最近接触了些破译方面的东东,主要是加密和解密的一些算法和流程。对于暴力破解的手段,密码字典也是个挺关键的步骤呢。下面学习个密码生成器的python代码。
基于库函数的密码产生使用 Python 库函数string和random:
- string.ascii_lowercase小写字母abcdefghijklmnopqrstuvwxyz;
- string.ascii_uppercase大写字母ABCDEFGHIJKLMNOPQRSTUVWXYZ;
- string.ascii_letters描述ascii_lowercase 和 ascii_uppercase的串联;
- string.digits字符串0123456789;
- string.punctuation在 C 语言环境中被视为标点字符的 ASCII 字符字符串: !"#$%&'()* ,-./:;<=>?@[\]^_{|}~。
import random
import string
length = random.randint(8,13)
password = string.ascii_letters string.digits string.punctuation
gen_password = "".join(random.sample(password, length))
print(password)
print(length)
print(gen_password)
字母 数字 特殊符号,长度自定义,后续可以试试仅允许字母开头的。
import random
import math
alpha = "abcdefghijklmnopqrstuvwxyz"
num = "0123456789"
special = ".@#$%&*"
#pass_len = int(input("Enter Password Length: "))
pass_len=random.randint(8,13)
# length of password 5:3:2
alpha_len = pass_len//2
num_len = math.ceil(pass_len*30/100)
special_len = pass_len-(alpha_len num_len)
password = []
def generate_pass(length, array, is_alpha=False):
for i in range(length):
index = random.randint(0, len(array) - 1)
character = array[index]
if is_alpha:
case = random.randint(0, 1)
if case == 1:
character = character.upper()
password.append(character)
generate_pass(alpha_len, alpha, True)
generate_pass(num_len, num)
generate_pass(special_len, special)
random.shuffle(password)
# convert List To string
gen_password = ""
for i in password:
gen_password = gen_password str(i)
print(pass_len)
print(password)
print(gen_password)
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com