码迷,mamicode.com
首页 > 其他好文 > 详细

案列密码生成器

时间:2018-04-26 23:32:19      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:alt   pre   第二版   copy   cli   letters   join   clip   pwd   

    密码生成器
        -随机密码
        -定向生成       
        -加盐      用一定的算法,会存在破解的可能,加盐混淆
        -直接复制       不需要显示在终端,便于保护,直接粘贴过去

简单脚本随机生成

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

 

 

案列密码生成器

标签:alt   pre   第二版   copy   cli   letters   join   clip   pwd   

原文地址:https://www.cnblogs.com/louhui/p/8955159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!