大家好,欢迎来到IT知识分享网。
最近接触了些破译方面的东东,主要是加密和解密的一些算法和流程。对于暴力激活成功教程的手段,密码字典也是个挺关键的步骤呢。下面学习个密码生成器的python代码。
基于库函数的密码产生
使用 Python 库函数string和random:
- string.ascii_lowercase小写字母abcdefghijklmnopqrstuvwxyz;
- string.ascii_uppercase大写字母ABCDEFGHIJKLMNOPQRSTUVWXYZ;
- string.ascii_letters描述ascii_lowercase 和 ascii_uppercase的串联;
- string.digits字符串0;
- 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 = "0" 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)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/69073.html