案列密码生成器

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))

 

 

以上是关于案列密码生成器的主要内容,如果未能解决你的问题,请参考以下文章

AI案列 三条路

postman 自动生成 curl 代码片段

postman 自动生成 curl 代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

JDBC 代码简写版案列

Apollo Codegen 没有找到生成代码的操作或片段