案列密码生成器
Posted 娄先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案列密码生成器相关的知识,希望对你有一定的参考价值。
密码生成器
-随机密码
-定向生成
-加盐 用一定的算法,会存在破解的可能,加盐混淆
-直接复制 不需要显示在终端,便于保护,直接粘贴过去
简单脚本随机生成
import random, string
count = 8
str_from = string.ascii_letters + string.digits
‘‘.join([random.choice(str_from) for _ in range(count)])
# 函数式生成
import random, string
def random_pwd(count):
str_from = string.ascii_letters + string.digits
return ‘‘.join([random.choice(str_from) for _ in range(count)])
print(random_pwd(5))
print(random_pwd(7))
base64 加密
知识点:base64: 是一种加密算法,支持多种加密,解密。 所需要的参数 为bytes类型(s.encode(‘utf-8‘))encode: 加密。 人 -》 机器 机器看的懂decode: 解密。 机器 -》 人 人看的懂
第一版本:
# 第一版本 import base64 def custom_pwd(count=8): ‘生成自定义密码,长度为count‘ orgin_pwd = input(‘请输入初始密码‘) # 空格也可以当密码 new_pwd = base64.b64encode(orgin_pwd.encode(‘utf-8‘)) new_pwd = new_pwd.decode(‘utf-8‘) if len(new_pwd) < 8: new_pwd = new_pwd.ljust(8,‘a‘) return new_pwd[:8] print(custom_pwd())
第二版本:多参数
import base64 def custom_pwd(orgin_pwd,count=8): ‘生成自定义密码,orgin_pwd为明文密码,str格式。长度为count‘ new_pwd = base64.b64encode(orgin_pwd.encode(‘utf-8‘)) new_pwd = new_pwd.decode(‘utf-8‘) if len(new_pwd) < 8: new_pwd = new_pwd.ljust(8,‘a‘) return new_pwd[:count] print(custom_pwd(‘louhui‘,8))
第三版本:加盐
import base64 def custom_pwd(orgin_pwd, salt=‘louhui‘, count=8,offset=3): ‘生成自定义密码,orgin_pwd为明文密码,str格式。长度为count‘ print(‘Before salt‘, orgin_pwd) new_pwd = base64.b64encode((orgin_pwd+salt).encode(‘utf-8‘)) new_pwd = new_pwd.decode(‘utf-8‘) print(‘After salt‘, new_pwd) if len(new_pwd) < count: new_pwd = new_pwd.ljust(count, ‘a‘) return new_pwd[offset:count+offset] print(custom_pwd(‘louhu1‘))
究极版本:直接赋值到剪切板
mport pyperclip # 第三方库,有一个复制的方法 import base64 def custom_pwd(orgin_pwd, salt=‘louhui‘, count=8, offset=3): ‘生成自定义密码,orgin_pwd为明文密码,str格式。长度为count,输出结果直接到内存‘ print(‘Before salt‘, orgin_pwd) new_pwd = base64.b64encode((orgin_pwd+salt).encode(‘utf-8‘)) new_pwd = new_pwd.decode(‘utf-8‘) print(‘After salt‘, new_pwd) if len(new_pwd) < count: new_pwd = new_pwd.ljust(count, ‘a‘) pyperclip.copy(new_pwd[offset:count+offset]) return ‘ok,找个地方粘贴密码去吧!‘ print(custom_pwd(‘louhui‘))
以上是关于案列密码生成器的主要内容,如果未能解决你的问题,请参考以下文章
修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段