python123随机密码生成、生成三组n位密码_生成随机密码

本文介绍了如何使用Python的random和string模块生成指定长度的随机密码。提供了生成6、8、10、16位密码的代码示例,并展示了一个简单的交互式应用。还附带了ASCII标准表的部分内容。
摘要由CSDN通过智能技术生成

工作中常常用到使用一些复杂度较高的密码。下面是一段自动生成n位数的代码,利用python random函数写的。#-*-coding:utf-8 -*-

#author:wangxing

import random

import string

import sys

#存储大小写字母和数字,特殊字符列表

STR = [chr(i) for i in range(65,91)]   #65-91对应字符A-Z

str = [chr(i) for i in range(97,123)]   #a-z

number = [chr(i) for i in range(48,58)]  #0-9

#特殊字符串列表获取有点不同

initspecial = string.punctuation      #这个函数获取到全部特殊字符,结果为字符串形式

special = []                          #定义一个空列表

#制作特殊符号列表

for i in initspecial:

special.append(i)

total = STR + str + number + special

#print total

choices = ['6','8','10','16']

def Randompassword(your_choice):

if your_choice in choices:

passwordli = random.sample(total,int(your_choice))       ##sample函数作用是取几个列表里的值并返回一个新列表,此处得到的是列表需要转换为字符串显示出来

passwordst = ''.join(passwordli)                    #现在得到的是转换后的字符串 ‘’是分隔符,里面可以为; : . 等等

print "\033[32m生成的\033[0m" + your_choice + "\033[32m位数密码为:\033[0m\n" + passwordst

else:

print "\033[31m请输入指定位数(6,8,10,16) \033[0m"

if __name__ == '__main__':

while True:

choice = raw_input("\033[33m请输入你要得到随机密码的位数:(6,8,10,16)\033[0m\n")

if choice != 'q':          #输入q则退出循环

Randompassword(choice)      #执行函数

else:

break

附ASCII标准表:Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字符解释

0000 00000000NUL(null)空字符

0000 00011101SOH(start of headline)标题开始

0000 00102202STX (start of text)正文开始

0000 00113303ETX (end of text)正文结束

0000 01004404EOT (end of transmission)传输结束

0000 01015505ENQ (enquiry)请求

0000 01106606ACK (acknowledge)收到通知

0000 01117707BEL (bell)响铃

0000 100010808BS (backspace)退格

0000 100111909HT (horizontal tab)水平制表符

0000 101012100ALF (NL line feed, new line)换行键

0000 101113110BVT (vertical tab)垂直制表符

0000 110014120CFF (NP form feed, new page)换页键

0000 110115130DCR (carriage return)回车键

0000 111016140ESO (shift out)不用切换

0000 111117150FSI (shift in)启用切换

0001 0000201610DLE (data link escape)数据链路转义

0001 0001211711DC1 (device control 1)设备控制1

0001 0010221812DC2 (device control 2)设备控制2

0001 0011231913DC3 (device control 3)设备控制3

0001 0100242014DC4 (device control 4)设备控制4

0001 0101252115NAK (negative acknowledge)拒绝接收

0001 0110262216SYN (synchronous idle)同步空闲

0001 0111272317ETB (end of trans. block)结束传输块

0001 1000302418CAN (cancel)取消

0001 1001312519EM (end of medium)媒介结束

0001 101032261ASUB (substitute)代替

0001 101133271BESC (escape)换码(溢出)

0001 110034281CFS (file separator)文件分隔符

0001 110135291DGS (group separator)分组符

0001 111036301ERS (record separator)记录分隔符

0001 111137311FUS (unit separator)单元分隔符

0010 0000403220(space)空格

0010 0001413321!叹号

0010 0010423422"双引号

0010 0011433523#井号

0010 0100443624$美元符

0010 0101453725%百分号

0010 0110463826&和号

0010 0111473927'闭单引号

0010 1000504028(开括号

0010 1001514129)闭括号

0010 101052422A*星号

0010 101153432B+加号

0010 110054442C,逗号

0010 110155452D-减号/破折号

0010 111056462E.句号

0010111157472F/斜杠

001100006048300数字0

001100016149311数字1

001100106250322数字2

001100116351333数字3

001101006452344数字4

001101016553355数字5

001101106654366数字6

001101116755377数字7

001110007056388数字8

001110017157399数字9

0011101072583A:冒号

0011101173593B;分号

0011110074603C

0011110175613D=等号

0011111076623E>大于

0011111177633F?问号

010000001006440@电子邮件符号

010000011016541A大写字母A

010000101026642B大写字母B

010000111036743C大写字母C

010001001046844D大写字母D

010001011056945E大写字母E

010001101067046F大写字母F

010001111077147G大写字母G

010010001107248H大写字母H

010010011117349I大写字母I

01001010112744AJ大写字母J

01001011113754BK大写字母K

01001100114764CL大写字母L

01001101115774DM大写字母M

01001110116784EN大写字母N

01001111117794FO大写字母O

010100001208050P大写字母P

010100011218151Q大写字母Q

010100101228252R大写字母R

010100111238353S大写字母S

010101001248454T大写字母T

010101011258555U大写字母U

010101101268656V大写字母V

010101111278757W大写字母W

010110001308858X大写字母X

010110011318959Y大写字母Y

01011010132905AZ大写字母Z

01011011133915B[开方括号

01011100134925C\反斜杠

01011101135935D]闭方括号

01011110136945E^脱字符

01011111137955F_下划线

011000001409660`开单引号

011000011419761a小写字母a

011000101429862b小写字母b

011000111439963c小写字母c

0110010014410064d小写字母d

0110010114510165e小写字母e

0110011014610266f小写字母f

0110011114710367g小写字母g

0110100015010468h小写字母h

0110100115110569i小写字母i

011010101521066Aj小写字母j

011010111531076Bk小写字母k

011011001541086Cl小写字母l

011011011551096Dm小写字母m

011011101561106En小写字母n

011011111571116Fo小写字母o

0111000016011270p小写字母p

0111000116111371q小写字母q

0111001016211472r小写字母r

0111001116311573s小写字母s

0111010016411674t小写字母t

0111010116511775u小写字母u

0111011016611876v小写字母v

0111011116711977w小写字母w

0111100017012078x小写字母x

0111100117112179y小写字母y

011110101721227Az小写字母z

011110111731237B{开花括号

011111001741247C|垂线

011111011751257D}闭花括号

011111101761267E~波浪号

011111111771277FDEL (delete)删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值