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)

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页