Mac OS生成随机密码的Python脚本

很多时候在注册一些比较重要的帐号,或者使用一些比较重要的接口的时候,需要使用到随机字符串,为了方便,我们设计这个脚本需要注意以下几点:

  1. 我们的密码字符主要从0-9/A-Z/a-z这些字符中随机获取。为了避免显示混淆,我们去除字符中的数字0和字母o以及数字1和字母l。
  2. 命令不带参数的情况默认产生16个字符的随机密码
  3. 命令可以带一个参数,表明需要产生的随机密码的长度
  4. 要把密码打印到Terminal上,同时需要把随机密码发送到剪切板,方便粘贴使用
  5. 把命令放置到系统系统路径下面,方便直接使用命令。

代码如下:

# -*- 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()
        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()

把脚本复制到/usr/local/bin下面名为genpass,赋予执行权限sudo chmod 700 genpass, 然后就可以在Termianl中使用genpass命令了。

时间: 2024-07-29 20:43:15

Mac OS生成随机密码的Python脚本的相关文章

Mac OS SSH/SFTP的Python脚本

以前在windows系统下面使用xshell来管理阿里云上的服务器,winscp来上传网站的资料,由于winscp使用的私钥必须是.ppk格式,而xshell使用普通的私钥,每次都要用putty工具来转换,很麻烦.后来使用xftp来替代winscp,xftp和xshell使用同样的私钥,这套组合在windows平台上面管理服务器非常方便,推荐使用. 然而Mac OS上面,没有这个套工具,由于Terminal可以直接使用sftp和ssh命令,用来管理阿里云服务器也很不错.但是,管理多态服务器非常麻

Mac OS X 下安装python的MySQLdb模块

参考资料: mac os x下python安装MySQLdb模块   http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题  http://www.myexception.cn/operating-system/1616547.html 在Mac OS X 中安装好了MySQL和Django,在Django中访问MySQL数据库时,提示“ImportError: No module named MySQLdb”,是由于没有安装Pytho

在mac OS X中配置python mysql开发环境

1. 首先要下载安装mysql,下载地址: http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19.tar.gz 解压: tar -xzvf mysql-5.6.19.tar.gz 然后下载gmock,编译mysql时需要用到: https://googlemock.googlecode.com/files/gmock-1.7.0.zip 解压到指定目录 <span style="font-size:14px;">unzi

Mac OS X中搭建Python科学计算环境

这个日志也是参考了几位网友的经验(例如这篇日志:http://blog.csdn.net/waleking/article/details/7578517).他们推荐使用Mac Ports这样的软件来管理和安装所有的安装包.按照这里的教程:http://www.macports.org/install.php,需要首先安装Xcode,如果下载网速不好的话,使用浏览器下载可能需要数个小时.这里建议国内的朋友试试迅雷之类的离线下载,可以加速很多.安装好Mac Ports之后,在终端中输入: port

让Mac OS X系统启动时执行脚本

公司购买了Zoho公司的资产管理软件 AssetExplorer,该资产管理软件可以通过在客户机电脑上安装Agent客户端软件收集客户机的硬件及软件信息.公司有若干台iMac电脑,运 行的是Mac OS X 10.6的系统,由于AssetExplorer只支持Windows版本的Agent,对于其他系统的计算机需要通过在客户端执行bash脚本文件的方 式,收集客户机的信息并上传到服务器.这就要求客户机的Mac OS X系统启动的时候能够自动执行脚本程序,而且要基于系统服务层面,用户无需登录,脚本

Mac OS X在建筑Python科学计算环境

经验(比如这篇日志:http://blog.csdn.net/waleking/article/details/7578517).他们推荐使用Mac Ports这种软件来管理和安装全部的安装包.依照这里的教程:http://www.macports.org/install.php,须要首先安装Xcode.假设下载网速不好的话,使用浏览器下载可能须要数个小时.这里建议国内的朋友试试迅雷之类的离线下载,能够加速非常多.安装好Mac Ports之后,在终端中输入: port search networ

mac os 使用pyenv管理python多版本

1 安装pyenv brew install pyenv 2配置~/bash_profile export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" 3让新增的配置项生效 source ~/.bash_profile 4测试一下是否安装好 并查看能安装的版本 pyenv install -l 5安装python3 我当前

python 生成随机密码

python生成随机密码串 python 的random模块可以生成随机数,主要用这个生成随机密码. string模块中的3个函数:string.letters,string.printable,string.printable >>> import string >>> string.letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> string.digits '01

【Python运维脚本】生成随机密码

需求:生成指定长度的随机密码,其中密码中应该包含数字和英文字母 实现: #!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected] import random, string#导入random和string模块 def GenPassword(length): #随机出数字的个数 numOfNum = random.randint(1,length-1) numOfLetter =