python学习——hashlib.md5摘要算法(哈希算法)
来源:互联网 发布:知乎眼睛漂亮的女孩 编辑:程序博客网 时间:2024/06/08 04:48
登录网站的用户名密码数据库是不会以明文密码进行存储的,简单的,可以通过摘要算法得到一个长度固定的数据块。
1、摘要算法格式:
import hashlib #导入hashlib模块md = hashlib.md5() #获取一个md5加密算法对象md.update('how to use md5 in hashlib?'.encode('utf-8')) #制定需要加密的字符串print(md.hexdigest()) #获取加密后的16进制字符串
得到如下:
d26a53750bc40b38b65a520292f69306
需要注意的是,字符串后面要加个
.encode(‘utf-8’)
目的是为了对字符串进行转换成utf-8格式的。具体为什么不知道,反正不这么做的话会出错。
2、以一个例子来说明具体用法。
import hashlibdb = {}#计算密码的md5值def get_md5(s): md = hashlib.md5() md.update(s.encode('utf-8')) return md.hexdigest()#注册新的用户def register(username,password): db[username] = get_md5(password + username + 'SSC')#验证用户登录def login(username,password): if not username in db: print('User is not exist!') return if db[username] == get_md5(password + username + 'SSC'): print('Login sucessfully') else: print('Incorrect password')#主程序if __name__ == '__main__': user1 = 'xiaoming' psw1 = '123456' register(user1,psw1) #注册新用户 login(user1,psw1) #登录成功 login(user1,psw1+' ') #密码错误,登录失败 login(user1+' ',psw1) #用户名错误,登录失败
得到结果如下:
Login sucessfullyIncorrect passwordUser is not exist!
参考:廖雪峰的官方网站
阅读全文
0 0
- python学习——hashlib.md5摘要算法(哈希算法)
- Python基础-摘要算法hashlib中的MD5和SHA1
- python hashlib sha1和MD5哈希算法
- python模块之hashlib: md5和sha算法
- python模块之hashlib: md5和sha算法
- python模块之hashlib: md5和sha算法
- 消息摘要 —— MD5算法
- python学习——hashlib
- Python中摘要算法MD5,SHA1讲解
- MD5加密--(信息-摘要算法) 哈希算法之一
- MD5 报文摘要算法
- MD5摘要算法原理
- 摘要算法 SHA1 MD5
- MD5摘要算法
- MD5 摘要算法实例
- MD5信息摘要算法
- MD5摘要算法
- MD5摘要算法
- SequoiaDB巨杉数据库成为唯一入选 “硅谷2016 大数据地形图”中国厂商, 企业级市场超越MongoDB等海外产品
- 线段树
- java中BigDecimal的使用
- video标签支持的视频格式
- 关于wordpress插件通过ftp删除
- python学习——hashlib.md5摘要算法(哈希算法)
- cpu
- Java中成员变量和局部变量的区别
- 百度地图中的密钥
- 【React全家桶入门之二】项目搭建
- mybatis 中 foreach collection的三种用法
- 记录mysql问题
- js中的一些函数
- redis keys命令 (24个)