• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

秋天中的一片叶

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【python】密码生成器

#!/usr/bin/env python
#-*- coding:UTF-8 -*-

import random   #导入random模块
import string  #导入string模块

salt = '!@#$%^&*()><?'  #本人小白因为不知道如何用模块生成特殊字符,所以定义了一个字符串来把所有的特殊字符写进去了。。。。。。(求不虐,求大神修改并指导)

def passwd(length):
chars = string.ascii_letters+string.digits+salt    #这里没什么可说的把模块中生成的大小写字母,数字+特殊字符用+号拼加起来赋值给chars这个变量
return ''.join([random.choice(chars)for i in range(length)])  #for 循环把循环的每个元素赋值给chars这个变量中,然后return出来。下面这个#的例子是生成的密码不会有重复字符
                                    下图中最后生成的密码里有重复的H跟B。如果想除重的话,请用下列命令。


    #return ''.join(random.sample(chars,8)) #(chars,8)是指定密码的位数,如果这里设定了位数是8位,假如print(passwd(9))里设置9位,最后生成的密码依然会优先(chars,8)中设定的值。



if __name__ == '__main__':

for i in range(1):   #设置生成密码的个数
print(passwd(8)) #passwd(8) 这里的8是设定密码的位数。

posted on 2016-05-23 16:59  秋天中的一片叶  阅读(1223)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3