hashlib模块,hmac模块
2024-08-27 22:17:12
6.11自我总结
1.hashlib模块(文件传输中将传输内容用指定算法进行处理)
hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值。
import hashlib
m = hashlib.md5() #导入算法
m.update(b'2321') #输入数据的二进制模式
print(m.hexdigest()) #按照特定算法的进行计算
#hashlib的特性
m = hashlib.md5() #导入算法
m.update(b'1') #输入数据的二进制模式
m.update(b'2323') #导入内容进行叠加
#上述两部其实等效 m.update(b'12323')
print(m.hexdigest()) #按照特定算法的进行计算
#且无论加密的字符长度怎么样,结果长度都相同
2.hmac模块(相比hashlib模块能防止撞球破解)
#用法与hashlib类似
import hmac
m = hmac.new('ads'.encode('utf8')) #这个可以自定义,但是必须是二进制格式填入
m.update(b'sdasd') #输入的内容
print(m.hexdigest())
#他先比与hashlib,第一步算法可以自定义添加内容.举例1
import hmac
m = hmac.new('ads'.encode('utf8'))
m.update(b'sdasd') #输入的内容
print(m.hexdigest())
m2 = hmac.new('adssss'.encode('utf8'))
m2.update(b'sdasd') #输入的内容
print(m2.hexdigest())
m3 = hmac.new('a'.encode('utf8'))
m3.update(b'ds') #输入的内容
m3.update(b'sdasd') #输入的内容
print(m3.hexdigest())
m4 = hmac.new('ads'.encode('utf8'))
m4.update(b'sd') #输入的内容
m4.update(b'asd') #输入的内容
print(m4.hexdigest())
#m == m4 !=m2 !=m3
最新文章
- CentOS7 安装中文帮助手册
- SQLite3
- 临时存存储页面上的数据---Web存储
- 树形菜单的json字符串的拼接
- 内联(行级)元素不能设置margin-top
- Java基础(52):ClassCastException详解(转)
- 《boot分区监控的小脚本》
- linux服务器上apache+php独立于mysql server单独部署
- 具有 Button 风格的 Panel(覆盖TCustomPanel的Paint函数,用到了ThemeServices)
- poj 1007 纯水题 排序
- [原创]obj-c编程15[Cocoa实例02]:KVC和KVO的实际运用
- LayoutParams 命名的时候,最好用与子控件相关的字符串命名,
- Protobuf 在Ubuntu 14上的编译与使用
- 最新合购网源码net.asp程序 彩票合买功能采用全新内核、全新架构,更小巧、功能更强、更快、更安全稳定
- Python s12 Day3 笔记及作业
- 关于一些php规范
- [TJOI2016&;&;HEOI2016]求和
- STL:deque用法详解
- 应用监控CAT之cat-consumer源码阅读(二)
- Spring获取application.properties
热门文章
- 最短路之SPFA(单源)HDU 1317
- Mass Change Queries Codeforces - 911G
- matplotlib 知识点13:绘制散点图(scatter函数精讲)
- 玲珑杯”ACM比赛 Round #4 1054 - String cut 暴力。学到了扫描的另一种思想
- 蜥蜴-DInic
- Java开发笔记(九十六)线程的基本用法
- Java GUI 事件监听
- WPF MATERAIL DESIGN TOOKIT
- java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/xxx/lib/arm/liblame.so: has text relocations
- MySQL字符集和排序介绍