Python实现控制台输入密码的方法
本文实例讲述了Python实现控制台输入密码的方法。分享给大家供大家参考。具体如下:
1. raw_input() :
pwd = raw_input('password: ') print pwd # password: aaa # aaa
Note: 最简单的方法,但是不安全
2. getpass.getpass() :
import getpass pwd = getpass.getpass('password: ') print pwd # password: # aaaa
Note: 很安全,但是看不到输入的位数,会让人觉得有点不习惯,不知道的还以为没有在输入..
3. msvcrt.getch() :
代码如下:
import msvcrt, sys def pwd_input(): chars = [] while True: newChar = msvcrt.getch() if newChar in '\r\n': # 如果是换行,则输入结束 print '' break elif newChar == '\b': # 如果是退格,则删除末尾一位 if chars: del chars[-1] sys.stdout.write('\b') # 删除一个星号,但是不知道为什么不能执行... else: chars.append(newChar) sys.stdout.write('*') # 显示为星号 print ''.join(chars) pwd = pwd_input() print pwd # ****** # aaaaaa
Note: 解决了第二种方法不能显示输入位数的问题,但是如果按退格键(backspace)的话,虽然实际的是退格了,
但控制台却没有显示相应的退格,比如,当前输入是:abcd,显示为:****,然后现在打一个退格键,实际
输入为:abc,而显示仍为:****。不知道为什么 sys.stdout.write('\b') 这行没有执行,估计是和使用msvcrt.getch()有关系。感兴趣的朋友可以进一步研究一下。
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
菜鸟使用python实现正则检测密码合法性
客户系统升级,要求用户密码符合一定的规则,即:包含大小写字母.数字.符号,长度不小于8,于是先用python写了个简单的测试程序: 在写解决方案前,列一下 python正则表达式中的特殊字符: ^ 表示匹配的字符必须在最前边 $ 表示匹配的字符必须在最后边 * 匹配* 前面的字符0次或n次 + 匹配+ 前面的字符1次或n次 ? 匹配?前面的字符0次或1次 . (小数点)匹配除换行符外的所
-
Python随机生成带特殊字符的密码
在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密码,我估计要人要疯了,所以这事不适合人干,但机器最做这个最拿手,今天我们就来学习一段python脚本,可以直接生成自己需要的密码,且密码长度,数字,字符个数随意你指定,废话不多说了,我们直接看代码: #!/usr/bin/env python import string from itertools
-
python生成指定长度的随机数密码
复制代码 代码如下: #!/usr/bin/env python# -*- coding:utf-8 -*- #导入random和string模块import random, string def GenPassword(length): #随机出数字的个数 numOfNum = random.randint(1,length-1) numOfLetter = length - numOfNum #选中numOfNum个数字 slcNum = [random.cho
-
python生成随机密码或随机字符串的方法
本文实例讲述了python生成随机密码或随机字符串的方法.分享给大家供大家参考.具体实现方法如下: import string,random def makePassword(minlength=5,maxlength=25): length=random.randint(minlength,maxlength) letters=string.ascii_letters+string.digits # alphanumeric, upper and lowercase return ''.joi
-
Python生成随机密码
本人 python新手,使用的环境是python2.7,勿喷 复制代码 代码如下: # -*- coding:utf8 -*- import random import string import sys reload(sys) sys.setdefaultencoding("utf8") def random_number(): pwnumber=input("请输入需要密码个数:") pwlength=input("请输入需要密码长度
-
python随机生成指定长度密码的方法
本文实例讲述了python随机生成指定长度密码的方法.分享给大家供大家参考.具体如下: 下面的python代码通过对各种字符进行随机组合生成一个指定长度的随机密码 python中的string对象有几个常用的方法用来输出各种不同的字符: string.ascii_letters 输出ascii码的所有字符 string.digits 输出 '0123456789'. string.punctuation ascii中的标点符号 print string.ascii_letters print s
-
python实现在控制台输入密码不显示的方法
本文实例讲述了python实现在控制台输入密码不显示的方法.分享给大家供大家参考.具体实现方法如下: import console; namespace console{ //控制台读取密码,并显示星号 getPassword = function(){ var tstr = {}; var input = kbRead(true); while( input.wVirtualKeyCode != 0xD/*_VK_ENTER*/ ){ if( input.uChar.asciiChar ){
-
python转换摩斯密码示例
复制代码 代码如下: CODE = {'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O'
-
python实现随机密码字典生成器示例
本来想穷举所有密码,算法要么就嵌套太深,要么就特别耗内存(会溢出).后来选了一个简单重复概率很低的算法.代码如下: 复制代码 代码如下: # -*- coding:utf-8 -*-''' @ function: 生成随机密码字典'''import randomclass Dictor(): CSet=' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_-+=/*<>:;\'&qu
-
Python实现的密码强度检测器示例
本文实例讲述了Python实现的密码强度检测器.分享给大家供大家参考,具体如下: 密码强度 密码强度如何量化呢? 一个密码可以有以下几种类型:长度.大写字母.小写字母.数字以及特殊符号. 显然,密码包含的特征越多.长度越长,其强度也就越高. 我们设置几个等级来评测密码强度,分别是:terrible, simple, medium, strong. 不同的应用可能对密码强度的要求不一样,我们引入最小程度(min_length)和最小特征数(min_types),作为可配置选项. 这样我们就可以检测
-
Python3实现生成随机密码的方法
本文实例讲述了Python3实现生成随机密码的方法,在Python程序设计中有着广泛的实用价值.具体方法如下: 本文实例主要实现创建8位随机密码(大小写字母+数字),采用Python3生成了初级算法的随机密码. 主要功能代码如下: __author__ = 'Goopand' import string import random def genPassword(length=8,chars=string.digits+string.ascii_letters): return ''.join(
-
python使用正则表达式检测密码强度源码分享
复制代码 代码如下: #encoding=utf-8#-------------------------------------------------------------------------------# Name: 模块1# Purpose:## Author: Administrator## Created: 10-06-2014# Copyright: (c) Administrator 2014# Licence: <your lic
随机推荐
- 基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
- JavaScript 使用正则表达式进行表单验证的示例代码
- js如何判断不同系统的浏览器类型
- 关于国际化、OGNL表达式语言
- 微信小程序(四)应用生命周期详解
- PHP学习笔记(二):变量详解
- Android开发中Activity的生命周期及加载模式详解
- 解读mysql主从配置及其原理分析(Master-Slave)
- android将图片转换存到数据库再从数据库读取转换成图片实现代码
- B/S开发中常用javaScript技术与代码
- firefo xml 读写实现js代码
- android自定义进度条渐变圆形
- 悟透JavaScript整理版第1/2页
- Javascript点击按钮随机改变数字与其颜色
- IIS里FTP多用户设置方法,终于不用Serv-U了
- ASP中Request对象获取客户端数据的顺序(容易忽略)
- 互联网迅猛崛起 IDC能否迎来发展高峰期
- windows 下python+numpy安装实用教程
- python中的数据结构比较
- vue 修改 data 数据问题并实时显示的方法