Python 生成密码微脚本,萌新有个疑问请教各位大佬
[code]
#!/usr/bin/python
# -- coding: utf-8 --
# @Date : 2017-4-1
import sys
import random
from optparse import OptionParser
if name == “main”:
op_parser = OptionParser()
# -l 参数后面加数字,表示密码长度,默认为 12
op_parser.add_option("-l", “–length”, action=“store”, dest=“leng”, default=12,
help=“Password length,default is 12.”)
op_parser.set_description(u’说明:使用 python random_pass.py -l n 产生 n 位随机密码, 0<n<95’)
(options, args) = op_parser.parse_args()
length = int(options.leng)
length = (length if 0 < length < 95 else exit(0))
basechars = “”"!"#$%&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"""
basechars = list(basechars)
random.shuffle(basechars)
print ‘’.join(basechars[:length])
[/code]
想请教下各位大佬,optparse 的 description 怎么换行呢,加换行符也不行。
话说还是不太会用这个编辑器,我以为加[code]标签会有代码格式的。。
Python 生成密码微脚本,萌新有个疑问请教各位大佬
搜索 Markdown 语法
我无法理解你的问题
我觉得你这个产生随机密码的逻辑有点古怪。它的组合数是 95!/(n-95)! 而不是 n^95。
你可以用这个,比如产生 120 长度的密码:
import random, string; ‘’.join(random.choices(string.printable, k=120))
如果是我的话我会使用 openssl 来加盐加密一些信息将结果截取部分来做密码,更通用有效
没想到这个,对于萌新来说稍微复杂了点,但是学到了不错的思路,感谢!
精辟精辟,就崇拜一行代码搞定的。感觉自己不补补数学知识没法好好探讨这个问题了哈哈
谢谢,文章只能补充没法编辑了啊。

