一、hashlib 密码加密
哈希算法(百度百科):将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。
哈希值:是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。所以,数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。
hashlib是python专门提供hash算法的库,现在里面包括md5、sha系列。其中,md5经常用来做用户密码的存储,sha1经常用作数字签名。
MD5加密后不可反解,但同一字段加密结果是固定的,可以通过撞库的方式进行密码破解。加密时加盐,可以提高密码安全度。
import hashlib a = 'lucy 20111115 female'.encode('utf-8') # 指定加密算法 h = hashlib.md5() # 进行加密 h.update(a) # 显示加密结果 print(h.hexdigest()) # 38a7ebf9dcc839f6e9d9550d457fd529 # 加盐:加密时,通过加参数的方式,提高加密难度。 r = hashlib.md5('dongxuew'.encode('utf-8')) r.update(a) print(r.hexdigest()) # b22e72e273628fd565f81a703bbe8973
二、getpass 隐藏密码
import getpass # 输入密码时隐藏 usr = input('username:') pwd = getpass.getpass('passwords:') print(usr) print(pwd)
浙公网安备 33010602011771号