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

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

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

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再来做加密。

import hashlib # ######## 256 ######## hash = hashlib.sha256('898oaFs09f'.encode('utf8'))hash.update('alvin'.encode('utf8'))print (hash.hexdigest())#e79e68f070cdedcfe63eaf1a2e92c83b4cfb1b5c6bc452d214c1b7e77cdfd1c7

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

import hmach = hmac.new('alvin'.encode('utf8'))h.update('hello'.encode('utf8'))print (h.hexdigest())#320df9832eab4c038b6c1d7ed73a5940

 

转载于:https://www.cnblogs.com/wangyue0925/p/9698853.html

你可能感兴趣的文章
menu键菜单显示图标:
查看>>
物联网入门:[一] 协议分析
查看>>
Bootstrap-排版
查看>>
触发器
查看>>
POJ 2888 Magic Bracelet [Polya 矩阵乘法]
查看>>
BZOJ 1982: [Spoj 2021]Moving Pebbles [博弈论 对称]
查看>>
BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]
查看>>
【转】Asp.net程序中用NPOI生成标准Excel报表,导入导出一应俱全
查看>>
VUE基本指令(v-model,v-html,v-text,v-bind,v-if,v-show,v-for,v-on:click,组件,过滤器)
查看>>
sturts2-lesson2 自定义类型转换器
查看>>
下载了一个S3 关于使用笔记
查看>>
简介 jCanvas:当 jQuery遇上HTML5 Canvas
查看>>
Java实现链栈
查看>>
[bzoj3208]花神的秒题计划I
查看>>
(转)NS2无线网络遗失模型
查看>>
实现并发join的方法
查看>>
ubuntu 设置管理 集锦
查看>>
Monkey Android app稳定性测试工具之Monkey使用教程
查看>>
枚举类使用
查看>>
T4模板技术相关 from artech
查看>>