day30 hashlib模块
hashlib 提供摘要算法
最常见的就是MD5,当然一般来说MD5已经被足够了
不管算法多不一样,但是摘要的功能是不变的
对于相同的字符串进行摘要,使用同一个算法得到的值总是不变的
不同算法的话,会无法一致而不通过
算法的复杂程度越高越安全,但是时间空间成本也会更高
import hashlib
md5 = hashlib.md5()
md5.update(b'yangtuo')
print(md5.hexdigest())
# 2da474673e951b9e33aeb80290eb0501
摘要算法
密码的密文存储
文件的一致性验证
下载的时候检查下载文件和远程服务器的文件是否一致
两台机器上的两个文件检查是否相等
ps:
必须是字节类型内容才能摘要处理 模拟实例:
# 模拟用户注册
# 用户输入用户名,密码
# 用户输入密码
# 明文的密码进行摘要 得到一串密文后写入文件 # 模拟用户登录
import hashlib
usr = input("username>>>")
pwd = input("password>>>")
with open("userinfo")as f :
for line in f:
user,passwd,role = line.split("|")
md5 = hashlib.md5()
md5.update(bytes(pwd,encoding="utf-8"))
md5_pwd = md5.hexdigest()
if usr == user and md5_pwd == passwd:
print("login in ")
else:print("go out") # 加盐
#
import hashlib
md5 = hashlib.md5(bytes("salt",encoding="utf-8"))
md5.update(b'alex3714')
print(md5.hexdigest()) # 动态加盐
# 用户名 密码
# 使用用户名的一部分或者直接整个用户名作为盐
import hashlib
md5 = hashlib.md5(bytes("salt",encoding="utf-8")+b"dhahdkashdawhd")
md5.update(b'alex3714')
print(md5.hexdigest()) # 文件的一致性校验
# 别加盐,别人才不知道你加了什么盐,而且仅仅是判断是否一致,又不是什么高级机密
# 文件比较长的时候,可以分次进行update,一次
import hashlib
md5 = hashlib.md5()
md5.update(b'alex')
md5.update(b'')
print(md5.hexdigest())
day30 hashlib模块的更多相关文章
- python hashlib模块 logging模块 subprocess模块
一 hashlib模块 import hashlib md5=hashlib.md5() #可以传参,加盐处理 print(md5) md5.update(b'alex') #update参数必须是b ...
- python标准模块(time、datetime及hashlib模块)
一.time,datetime模块 时间相关的操作 import time time.sleep(5) # ==> 停顿多少秒 print(time.time()) # ==> 返回时间戳 ...
- Python hashlib模块 (主要记录md5加密)
python提供了一个进行hash加密的模块:hashlib 下面主要记录下其中的md5加密方式(sha1加密一样把MD5换成sha1) >>> import hashlib > ...
- Python学习笔记——基础篇【第六周】——hashlib模块
常用模块之hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import ...
- Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)
本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...
- 小白的Python之路 day5 hashlib模块
hashlib模块 一.概述 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 二.算法的演 ...
- Python模块之hashlib模块、logging模块
一.hashlib模块 hashlib模块介绍:hashlib这个模块提供了摘要算法,例如 MD5.hsa1 摘要算法又称为哈希算法,它是通过一个函数,把任意长度的数据转换为一个长度固定的数据串,这个 ...
- python全栈开发-hashlib模块(数据加密)、suprocess模块、xml模块
一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
随机推荐
- 51单片机开发板(W25Q16学习)
教程资料 链接:https://pan.baidu.com/s/142JRSPisQO2Cu6VZ2Y5YrQ 密码:eom0 今天测试开发板的W25Q16(16Mbit--Flash)写一篇文章备忘 ...
- odoo系统之产品表
# 输入产品带出它默认的包装方式\单位\品名\规格 def get_product_unit(self, cr, uid,ids,product_id,pcust_order_no,pdate_pla ...
- 广电的宽带网络真流氓,替换google的广告为百度的广告
以前联通也有干过这事,最近联通,有没有继续干,不清楚.没有用联通了. 最近,连到某wifi,发现网站的google广告,居然显示成百度的,特别去访问另一家网站,发现,本该是google广告的位置,同样 ...
- ASP.NET Core使用log4net记录日志
.NET常用的日志组件有NLog.Log4net等,.NET CORE下微软也自带了日志组件,到目前为止还没用过,而我本人常用的是log4net,下面简单讲讲.NET CORE下怎么使用log4net ...
- SpringBoot日记——Spring的安全配置-登录认证与授权
安全是每个项目开发中都需要考虑的,比如权限控制,安全认证,防止漏洞攻击等. 比较常见的安全框架有:Apache的shiro.Spring Security等等,相信用shiro的用户群体更多,而sec ...
- Webpack 2 视频教程 003 - Webpack 项目初始化
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- A. A Prank
题意 有数列从小到大排列,都是不同范围1~ 1000,问你最多去掉多少个数字还能复原 由于wrong很多发所以写一下 链接 [http://codeforces.com/contest/1062/pr ...
- C. Books Queries
链接 [http://codeforces.com/contest/1066/problem/C] 题意 开始空队列,可以进行前插和后插,还可以查询使某个数的为最左或最右需要去掉的最少数字 分析 模拟 ...
- git使用(2)
1.远程仓库 a SSHKEY 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到 ...
- 个人作业——final
一 . 对M1M2的一个总结 我特别感谢我们组的PM.以前我觉得女生学计算机这个专业,跟男生比差太远了.总觉得我们女生就是上上课写写作业考考试还行,但是一到开发什么项目啊,实战之类的,总觉得自己的能力 ...