最近接触了些破译方面的东东,主要是加密和解密的一些算法和流程。对于暴力破解的手段,密码字典也是个挺关键的步骤呢。下面学习个密码生成器的python代码。

基于库函数的密码产生

使用 Python 库函数string和random:

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)

python随机生成密码本(Python版的迷你程序随机密码生成器)(1)

,