常用模块之hashlib模块 

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

import md5
hash = md5.new()
hash.update('admin')
print hash.hexdigest()

MD5-废弃

import shahash = sha.new()
hash.update('admin')
print hash.hexdigest()

sha-废弃

import hashlib# ######## md5 ########hash = hashlib.md5()
hash.update('admin')
print hash.hexdigest()# ######## sha1 ########hash = hashlib.sha1()
hash.update('admin')
print hash.hexdigest()# ######## sha256 ########hash = hashlib.sha256()
hash.update('admin')
print hash.hexdigest()# ######## sha384 ########hash = hashlib.sha384()
hash.update('admin')
print hash.hexdigest()# ######## sha512 ########hash = hashlib.sha512()
hash.update('admin')
print hash.hexdigest()

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

import hashlib# ######## md5 ########hash = hashlib.md5('898oaFs09f')
hash.update('admin')
print hash.hexdigest()

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

import hmac
h = hmac.new('wueiqi')
h.update('hellowo')
print h.hexdigest()

不能再牛逼了!!!

 1 import hashlib
 2
 3 m = hashlib.md5()
 4 m.update(b"Hello")
 5 m.update(b"It's me")
 6 print(m.digest())
 7 m.update(b"It's been a long time since last time we ...")
 8
 9 print(m.digest()) #2进制格式hash
10 print(len(m.hexdigest())) #16进制格式hash
11 '''
12 def digest(self, *args, **kwargs): # real signature unknown
13     """ Return the digest value as a string of binary data. """
14     pass
15
16 def hexdigest(self, *args, **kwargs): # real signature unknown
17     """ Return the digest value as a string of hexadecimal digits. """
18     pass
19
20 '''
21 import hashlib
22
23 # ######## md5 ########
24
25 hash = hashlib.md5()
26 hash.update('admin')
27 print(hash.hexdigest())
28
29 # ######## sha1 ########
30
31 hash = hashlib.sha1()
32 hash.update('admin')
33 print(hash.hexdigest())
34
35 # ######## sha256 ########
36
37 hash = hashlib.sha256()
38 hash.update('admin')
39 print(hash.hexdigest())
40
41
42 # ######## sha384 ########
43
44 hash = hashlib.sha384()
45 hash.update('admin')
46 print(hash.hexdigest())
47
48 # ######## sha512 ########
49
50 hash = hashlib.sha512()
51 hash.update('admin')
52 print(hash.hexdigest())

View Code

更多关于md5,sha1,sha256等介绍的文章看这里https://www.tbs-certificates.co.uk/FAQ/en/sha256.html

转载于:https://www.cnblogs.com/yard/p/5521182.html

Python学习笔记——基础篇【第六周】——hashlib模块相关推荐

  1. Java 转 Python 学习笔记-基础篇

    # 列表类型 names = ['李明博', '咖喱棒']# 字典类型 person = {'name':'咖喱棒', 'age':18}# 元祖类型 nums = (1,2,3,4,)# 集合类型 ...

  2. Python学习笔记——基础篇【第六周】——shutil模块

    常用模块之shutil 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,可以部分内容 1 def ...

  3. Python学习笔记——基础篇【第五周】——模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  4. Python学习笔记——基础篇【第七周】———FTP作业(面向对象编程进阶 Socket编程基础)...

    FTP作业 本节内容: 面向对象高级语法部分 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 参考:http://www.cnblogs.com/wupeiqi/ ...

  5. 扇贝编程python学习笔记-基础篇4

    Never say die. 文章目录 第六关 1.函数的参数.参数类型 2.函数中的参数 3.函数的多个返回值 4.函数的变量作用域 5.学习巩固 第六关 学习用时:35min 随堂测验+上机作业: ...

  6. 扇贝编程python无法退款_扇贝编程python学习笔记-基础篇1

    我要成为一个勤奋努力上进的人 第一关 学习用时:15min 随堂测验+上机作业:10min 随堂作业正确率:4/5 1.尝试执行代码 import random menu = ['粉丝', '炒饭', ...

  7. 扇贝编程python学习笔记-基础篇3

    Genius only means hard-working all one's life. 天才只意味着终身不懈的努力. 文章目录 第五关 1.函数的定义.组成 2.函数中的参数 3.函数的作用 4 ...

  8. 扇贝编程python学习笔记-基础篇5

    再也不咕咕了,请叫我多福 文章目录 第七关 1.print和return的区别 2.return 语句的"陷阱" 3.报错处理 4.学习巩固 第七关 知识点复习 学习用时:30mi ...

  9. 扇贝编程python学习笔记-基础篇10

    聚沙成塔 集腋成裘 文章目录 第十二关 1.列表元素的删除 2.列表分片 3.列表常用方法 4.练习 第十二关 知识点复习 学习用时:50min 随堂测验+上机作业:50min 随堂作业正确率:2/3 ...

最新文章

  1. 华中农大在土壤矿物-微生物相互作用研究方面取得新进展
  2. python多重继承
  3. GT Transceiver中的重要时钟及其关系(5)QPLL的工作原理介绍
  4. linux安装oracle 操作系统内核参数 aio,Linux安装Oracle 11G过程(测试未写完)
  5. Django congtent types应用
  6. 显示器驱动有什么用_科普一下:电脑显示器用什么接口好,主流接口有哪些?...
  7. perl学习笔记(8)
  8. Uinttest +excel结合使用--详细讲解
  9. 目前使用的工具及开发方式
  10. 浅谈Stein算法求最大公约数(GCD)的原理及简单应用
  11. python爬虫-python爬虫是什么?为什么把python叫做爬虫?
  12. Python—WebSocket爬虫实战
  13. B站视频解析去水印工具入口
  14. (FPGA)verilog驱动RGB接口TFT液晶屏
  15. win10u盘被写保护怎么解除_磁盘被写保护怎么解除,小编告诉你如何解决U盘磁盘被写保护...
  16. android apk上架流程,Android apk上架国内应用市场流程
  17. MATLAB回归分析命令——regress命令
  18. Excel转格式数字转人民币大写
  19. 智能LED电子钟的制作
  20. 利用pearcmd.php本地文件包含(LFI)

热门文章

  1. jeecms添加站点
  2. 【练习】实现一个parse方法(需要实现的效果见内容),方法总结
  3. Problem Collection II 构造
  4. [position]返回顶部
  5. iOS屏幕尺寸和分辨率了解
  6. 【零基础学习iOS开发】【02-C语言】05-进制
  7. 【读书笔记】重要的东西
  8. C语言程序设计上机前三题,C语言程序设计(含上机实验与习题解答)
  9. java 拖放文字_myeclipse2014如何实现jsp中的html代码的文字拖放
  10. Netty心跳机制-长连接