博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python hashlib模块
阅读量:6712 次
发布时间:2019-06-25

本文共 1031 字,大约阅读时间需要 3 分钟。

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import 
hashlib
 
m
=
hashlib.md5()
# m=hashlib.sha256()
 
m.update(
'hello'
.encode(
'utf8'
))
print
(m.hexdigest())  
#5d41402abc4b2a76b9719d911017c592
 
m.update(
'alvin'
.encode(
'utf8'
))
 
print
(m.hexdigest())  
#92a7e713c30abbb0319fa07da2a5c4af
 
m2
=
hashlib.md5()
m2.update(
'helloalvin'
.encode(
'utf8'
))
print
(m2.hexdigest()) 
#92a7e713c30abbb0319fa07da2a5c4af

以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。

1
2
3
4
5
6
7
import 
hashlib
 
# ######## 256 ########
 
hash 
= 
hashlib.sha256(
'898oaFs09f'
.encode(
'utf8'
))
hash
.update(
'alvin'
.encode(
'utf8'
))
print 
(
hash
.hexdigest())
#e79e68f070cdedcfe63eaf1a2e92c83b4cfb1b5c6bc452d214c1b7e77cdfd1c7

python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密:

1
2
3
4
import 
hmac
= 
hmac.new(
'alvin'
.encode(
'utf8'
))
h.update(
'hello'
.encode(
'utf8'
))
print 
(h.hexdigest())
#320df9832eab4c038b6c1d7ed73a5940

转载于:https://www.cnblogs.com/GhostCatcg/p/8151873.html

你可能感兴趣的文章
Makefile生成器,使用C++和Boost实现
查看>>
ITOO之底层关系
查看>>
算法笔记_141:无向图的欧拉回路判断问题(Java)
查看>>
XX年年终总结---重新飞跃
查看>>
Spark学习笔记之-Spark远程调试
查看>>
js---06函数传参数
查看>>
WCF系列教程之WCF服务配置
查看>>
Makefile 11——支持头文件目录指定
查看>>
解决JsonFormat日期少一天问题
查看>>
POJ 1201 Intervals
查看>>
linux下串口调试工具
查看>>
[转]如何在 .Net Framework 4.0 项目上使用 OData?
查看>>
UVa 12279 - Emoogle Balance
查看>>
头文件algorithm中的常用函数
查看>>
一套解决方案,多个项目
查看>>
Qt3D Shader
查看>>
Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead的解决的方法
查看>>
dede文章插入分页符不起作用,编辑器中出现分页符,导致文章显示不全
查看>>
【POJ3377】Ferry Lanes 最短路
查看>>
sqlplus登录提示:ORA-12162:TNS:net service name is incorrectly specified错误
查看>>