hashlib模块常用功能
什么是hash
hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值
如果把hash算法比喻为一座工厂
那传给hash算法的内容就是原材料
生成的hash值就是生产出的产品
2、为何要用hash算法
hash值/产品有三大特性:
1、只要传入的内容一样,得到的hash值必然一样
2、只要我们使用的hash算法固定,无论传入的内容有多大,
得到的hash值的长度是固定的
3、不可以用hash值逆推出原来的内容
基于1和2可以在下载文件时做文件一致性校验
基于1和3可以对密码进行加密
3、如何用
'''
import hashlib
# #1、造出hash工厂
# m=hashlib.md5()
#
# #2、运送原材料
# m.update('你好啊美丽的'.encode('utf-8'))
# m.update('张铭言'.encode('utf-8'))
#
# #3、产出hash值
# print(m.hexdigest()) #66bcb9758826f562ae8cb70d277a4be9
# #1、造出hash工厂
# m=hashlib.md5('你'.encode('utf-8'))
#
# #2、运送原材料
# m.update('好啊美丽的张铭言'.encode('utf-8'))
#
# #3、产出hash值
# print(m.hexdigest()) #66bcb9758826f562ae8cb70d277a4be9
# 应用一:文件一致性校验
# #1、造出hash工厂
# m=hashlib.sha512('你'.encode('utf-8'))
#
# #2、运送原材料
# m.update('好啊美sadfsadf丽asdfsafdasdasdfsafsdafasdfasdfsadfsadfsadfsadfasdff的张铭言'.encode('utf-8'))
#
#
# #3、产出hash值
# print(m.hexdigest()) #2ff39b418bfc084c8f9a237d11b9da6d5c6c0fb6bebcde2ba43a433dc823966c
# #1、造出hash工厂
# m=hashlib.md5()
#
# #2、运送原材料
# with open(r'E:\01.mp4','rb') as f:
# for line in f:
# m.update(line)
# #3、产出hash值
# print(m.hexdigest()) #1273d366d2fe2dc57645cc1031414a05
# # 1273d366d2fe2dc57645cc1031414a05
# 应用一:对明文密码进行加密
# password=input('>>>: ')
#
# m=hashlib.md5()
# m.update('天王盖地虎'.encode('utf-8'))
# m.update(password.encode('utf-8'))
# print(m.hexdigest()) #95bd6eafefdf51d8b153785f3fb6263d
#
import hmac
m=hmac.new('小鸡炖蘑菇'.encode('utf-8'))
m.update('hello'.encode('utf-8'))
print(m.hexdigest())
hashlib模块常用功能的更多相关文章
- python中time模块常用功能
import time time模块提供了大量对时间进行处理的方法 time.time() # 获取当前时间戳,得到自1970年开始的秒数 >>>time.time() 155487 ...
- Python OS模块常用功能 中文图文详解
一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...
- random模块常用功能
- datetime模块常用功能小结
- Python常用模块之hashlib模块
1.hashilib模块的功能 python的hashlib提供了常见的摘要算法,如MD5, SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换成一 ...
- Atiit 常见功能 常用功能与模块的最快速解决方案
Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...
- hashlib,hmac,subprocess,configparser,xlrd,xlwt,xml模块基本功能
hashlib模块:加密 import hashlib# 基本使用cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8'))print(cipher.h ...
- Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)
本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
随机推荐
- Xpath定位绝密版本
xpath的作用就是两个字“定位”, 运用各种方法进行快速准确的定位,推荐两个非常有用的的firefox工具:firebug和xpath checker 在 XPath 中, 有七种类型的节点:元素. ...
- WPF自定义分页控件,样式自定义,简单易用
WPF自定义分页控件 做了许久伸手党,终于有机会贡献一波,搜索一下WPF分页控件,还是多,但是不太通用,主要就是样式问题,这个WPF很好解决,还有一个就是分页控件嘛,只关心几个数字的变动就行了,把页码 ...
- 锁丶threading.local丶线程池丶生产者消费者模型
一丶锁 线程安全: 线程安全能够保证多个线程同时执行时程序依旧运行正确, 而且要保证对于共享的数据,可以由多个线程存取,但是同一时刻只能有一个线程进行存取. import threading v = ...
- css 选择器 & UI元素的伪类选择器 & 伪元素选择器
UI元素的伪类选择器 1. :focus 用来选取获取焦点事件 2. :enabled 用来指定当元素处于可用状态时的样式 3. :disable 用来指定元素处于不可用时的状态 表单里应用 ...
- java集合杂谈
一:java集合框架如下图所示: 大致说明:看上面的框架图,先抓住它的主干,即Collection和Map. 1.Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性.C ...
- jQuery遍历Table表格的行和列
遍历Table表格的行和列,在开发中比较常用的功能,特别是前端开发人员,不多说,直接上代码,下面代码只是弹出第一列字段,请各位自己根据需求修改和扩展! <!DOCTYPE html PUBLIC ...
- 使用Qt生成第一个窗口程序
一.打开QtCreater,点击New Project 二.在Qt中,最常用的窗口程序为widgets控件程序,这里我们选择Qt Widgets Application 三.Qt生成的debug和re ...
- SQL 语句实现行转列
CREATE TABLE #tempcloum( [productNum] varchar() null, [year1] decimal not null, [year2] decimal not ...
- AD7190的小总结
1.单次转换模式 通过配置“模式寄存器的MD2.MD1.MD0为001”,便可启动单次转换. 流程“上电 -> 单次转换 -> 省电模式 ” , 片内振荡上电需要大约1ms. 单次转换 ...
- 详情介绍win7:编辑文件夹时提示操作无法完成,因为其中的文件夹或文件已在另一个程序中打开的解决过程
我们在使用电脑中,总会遇到下面这种情况: 那怎么解决呢,现在就开始教程: 在电脑的底下显示各种图标那一行点击右键,再选择“启动任务管理器” 接下来你就可以对你刚刚要操作的文件进行重命名.删除等操作啦! ...