幸福

如人饮水,冷暖自知

Python密码生成器

在日常开发中,添加一个管理用户等等场景,经常需要设置用户密码,有时候为了保证密码强度,也是费劲脑汁想各种组合,时而也会找网上的在线密码生成器来解决,在此则完全不用,郑重推荐如下脚本,生成密码串后会自动拷贝,再在需用到的地方自己粘贴即可,脚本如下:

 

#!/usr/bin/python
# -*- coding: utf-8 -*-

import string
import sys
import random
import subprocess

alnums = [x for x in string.letters + string.digits if x not in ('0', 'o', '1', 'l')]    # 产生除了特殊字符之外的样本

def genpass(n=16):
    """ 产生随机密码,默认长度为16个字符 """
    passwd = list()
    for i in range(n):
        passwd += random.choice(alnums)
    return ''.join(passwd)


def write_to_clipboard(output):
    """ 把output内容复制到剪贴板 """
    process = subprocess.Popen('pbcopy', env={'LANG': 'en_US.UTF-8'}, stdin=subprocess.PIPE)
    process.communicate(output.encode('utf-8'))


def main():
    if len(sys.argv) == 1:
        passwd = genpass(25)
        print(passwd)
        write_to_clipboard(passwd)
    elif len(sys.argv) == 2:
        try:
            n = int(sys.argv[1])
        except ValueError:
            print 'Input length of the password'
        else:
            passwd = genpass(n)
            print(passwd)
            write_to_clipboard(passwd)
    else:
        print 'Only need a argument: length of the password'


if __name__ == '__main__':
    main()



去打赏

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注