Python3之hashlib
简介:
用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。
在python3中已经废弃了md5和sha模块,简单说明下md5和sha的使用。
什么是摘要算法呢?
摘要算法又称为哈希算法,散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)用于加密相关的操作。
md5加密
1 hash = hashlib.md5() 2 hash.update('admin'.encode('utf-8')) 3 print(hash.hexdigest()) 4 21232f297a57a5a743894a0e4a801fc3
sha1加密
1 hash = hashlib.sha1() 2 hash.update('admin'.encode('utf-8')) 3 print(hash.hexdigest()) 4 d033e22ae348aeb5660fc2140aec35850c4da997
sha256加密
1 hash = hashlib.sha256() 2 hash.update('admin'.encode('utf-8')) 3 print(hash.hexdigest()) 4 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
sha384加密
1 hash = hashlib.sha384() 2 hash.update('admin'.encode('utf-8')) 3 print(hash.hexdigest()) 4 9ca694a90285c034432c9550421b7b9dbd5c0f4b6673f05f6dbce58052ba20e4248041956ee8c9a2ec9f10290cdc0782
sha512加密
1 hash = hashlib.sha512() 2 hash.update('admin'.encode('utf-8')) 3 print(hash.hexdigest()) 4 c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec
‘加盐’加密
以上加密算法虽然很厉害,但仍然存在缺陷,通过撞库可以反解。所以必要对加密算法中添加自定义key再来做加密。
1 ###### md5 加密 ############ 2 hash = hashlib.md5('python'.encode('utf-8')) 3 hash.update('admin'.encode('utf-8')) 4 print(hash.hexdigest()) 5 75b431c498b55557591f834af7856b9f
hmac加密
hmac内部对我们创建的key和内容进行处理后在加密
1 import hmac 2 h = hmac.new('python'.encode('utf-8')) 3 h.update('helloworld'.encode('utf-8')) 4 print(h.hexdigest()) 5 b3b867248bb4cace835b59562c39fd55
获取文件的MD5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Python3之hashlib相关推荐
- Python3模块: hashlib
简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法. 在python3中已经废弃了md5和sha模块,简单说 ...
- python3 中的 md5 加密
转载申明:https://blog.csdn.net/m0_38080253/article/details/78838489 在python3的标准库中,已经移除了md5,而关于hash加密算法都放 ...
- python3 的 md5加密
在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1.SHA224.SHA256.SHA384.SHA512和MD5算法等. 另:在网上找关 ...
- python hashlib_python import hashlib出现问题
import hashlib时出现如下问题: >>> import hashlib ERROR:root:code for hash md5 was not found. Trace ...
- 数据可视化路上——中国地图可视化
想用geo:from pyecharts import Geo Collecting Geo Could not find a version that satisfies the requireme ...
- 如何搭建自己的微信公众号服务
文章目录 一.先启用服务器配置 二.服务器端几个关键代码 参考文献 一.先启用服务器配置 二.服务器端几个关键代码 main.py # -*- coding: utf-8 -*- # filename ...
- 【强化学习】解决gym安装Atari2600环境gym[atari,accept-rom-license] RuntimeError 无法下载Roms的问题
先上Roms.tar.gz安装地址:Roms.tar.gz 以下内容是解决问题的思路,如果已经完全知道问题原因可以直接跳过 安装gym[accept-rom-license]时会出现安装失败的情况: ...
- 用python实现MD5、sha256、sha384、sha512、base64加密
文章目录 一.hashlib介绍 二.使用hashlib库进行md5加密 1.加密未混淆代码 2.混淆加密代码 三.使用hashlib库进行sha256.sha384.sha512加密 四.多重加密( ...
- python指定宽度20输出_Python 以指定宽度格式化输出
Python 以指定宽度格式化输出 2020-05-07 当对一组数据输出的时候,我们有时需要输出以指定宽度,来使数据更清晰. 1 mat = "{:20}\t{:28}\t{:32}&qu ...
最新文章
- 并发Goroute、定时器、信号处理、单元测试
- 打开深蓝医生的国庆大礼包!
- ECharts+BaiduMap+HT for Web网络拓扑图应用
- CentOS系统 Nginx、MySQL、PHP 服务器的部署
- android按钮进度动画,android – 在按钮后面放置一个进度条
- 【机器视觉】dev_update_on和dev_update_off算子
- Netty初步之hello world
- 连接远程mysql遇到的问题及解决方法
- 借助 SAP 电商云 Spartacus UI 提供的 Schematics 辅助您的前端项目升级
- python矩阵转置_Python 矩阵转置的几种方法小结
- [转载]Runtime详解
- jQuery 实现图片动画代码
- 蒙特卡洛方法习题_蒙特卡洛方法
- 2022恒生电子前端笔试
- 交通流特征工程小技巧与思考
- 使用合取范式进行整数规划建模的方法
- 安徽农业大学计算机考研分数线,安徽农业大学考研分数线
- 密码算法测试向量——Cipher MAC SM4
- Linux环境部署:开启电脑虚拟化
- 16光8电全千兆宽温工业交换机16千兆光8千兆网口机架式网管型工业级以太网交换机
热门文章
- 启程未来,未来可期:毕业季的梦想岁月
- PID控制器算法-Simulink仿真
- 2020-10-08:“棱镜门事件“的思考:黑客是什么,如何成为黑客?
- MongoDB备份/恢复/导入/导出/条件导出/格式化导出
- HLA-Face: Joint High-Low Adaptation for Low Light Face Detection论文阅读笔记
- 像设计师一样展示自己
- c语言存款利息的计算有1000,【c语言】存款利息的计算
- Libevent库的介绍与应用
- 【概率论与数理统计】简单梳理知识框架和概数史
- 2015年7月16号