hashlib是一个提供字符串加密功能的模块,包含MD5和SHA的算法,MD5和SHA是摘要算法,摘要算法是什么呢:
也可以称为哈希算法,离散算法。通过一个函数将任意长度的数据转化为一个长度固定的数据串,摘要函数是一个单向函数,计算f(data)很容易,但是通过digest反推data非常困难,对data做任意修改,计算出的摘要完全不相同。
md5算法特点:
用法实例:
import hashlib
new_md5=hashlib.md5()
new_md5.update('guo')
ret=new_md5.hexdigest()
# ret 为加密后的字符串
函数形式实现加密操作:
import hashlib
def get_ret(s):
new_md5=hashlib.md5()
new_md5.update(s)
ret=new_md5.hexdigest()
return ret
get_ret('guo')
用户验证登录:
import hashlib
def get_ret(s)
new_md5=hashlib.md5()
new_md5.update(s)
ret = new_md5.hexdigest()
return ret
username = input('username:')
password = input('password:')
with open('userinfo') as f:
for line in f:
usr, pwd = line.strip().split('|')
if username == usr and get_ret(password) == pwd:
print '登陆成功'
break
else:
print('登录失败')