用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 越往后加密算法越复杂,这些算法都是不可逆的,MD5 算法

 import hashlib
obj=hashlib.md5()
obj.update("admin".encode("utf8"))
print(obj.hexdigest()) #21232f297a57a5a743894a0e4a801fc3 obj.update("root".encode("utf8"))#这时候加密的字符串是"adminroot"
print(obj.hexdigest())# 4b3626865dc6d5cfe1c60b855e68634a
# 4b3626865dc6d5cfe1c60b855e68634a
obj2=hashlib.md5("sb".encode("utf8"))#以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。,这个步骤叫加盐
obj2.update("admin".encode("utf8"))
print(obj2.hexdigest()) #e560d00d77b6997bbcba34ce36a0d745

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

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

最新文章

  1. poj 3692 Kindergarten (最大独立集)
  2. cocos之观察者模式应用实例
  3. [Solution] ASP.NET Identity(1) 快速入门
  4. 1972: [Sdoi2010]猪国杀 - BZOJ
  5. CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦
  6. 统计机器翻译(SMT)步骤总结
  7. jQuery渐隐渐出的文字提示
  8. 201521123066 《Java程序设计》 第六周学习总结
  9. ReentrantLock可重入锁的使用场景
  10. Android的加速度传感器模拟摇一摇的效果-android学习之旅(66)
  11. 20145311王亦徐 《网络对抗技术》 MSF基础应用
  12. SQL Fundamentals || DCL(Data Control Language) || 用户管理&Profile概要文件
  13. mysql主从服务器的配置
  14. 飞跃平野(sdut1124)
  15. win7下docker环境搭建nginx+php-fpm+easyswoole开发环境
  16. Javascript一(变量,数据类型,正则表达式,数据,语句)
  17. 最短路径算法(I)
  18. 4G和有线网络的自动切换
  19. Nginx配置整理
  20. Linux Python apache的cgi配置

热门文章

  1. 通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序
  2. scrapy 源码解析 (二):启动流程源码分析(二) CrawlerProcess主进程
  3. 用Python演奏音乐
  4. 详解UDP协议
  5. echarts 踩坑 : 为什么触摸柱状图的时后柱子不见了?原来是color的锅!
  6. vue 应用 :关于 ElementUI 的 message 组件
  7. vue & 百度地图:在地图上绘制多边形
  8. C# 判断和创建目录路径
  9. MySQL的权限赋予
  10. 题解 洛谷 P4632 【[APIO2018] New Home 新家】