python学习——hashlib.md5摘要算法(哈希算法)
2022/4/25 17:42:36
本文主要是介绍python学习——hashlib.md5摘要算法(哈希算法),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
登录网站的用户名密码数据库是不会以明文密码进行存储的,简单的,可以通过摘要算法得到一个长度固定的数据块。
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’)
因为hashlib是对二进制进行加密的,如果直接对字符串加密的话, 会报错的。因此需要通过encode将字符串转码成二进制格式。
2、以一个例子来说明具体用法。
import hashlib
db = {}
#计算密码的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 sucessfully
Incorrect password
User is not exist!
reference:
https://blog.csdn.net/geerniya/article/details/77531626
这篇关于python学习——hashlib.md5摘要算法(哈希算法)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享