简介:

  用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。
在python3中已经废弃了md5和sha模块,简单说明下md5和sha的使用。

  什么是摘要算法呢?

  摘要算法又称为哈希算法,散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)用于加密相关的操作。

md5加密

hash = hashlib.md5()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
21232f297a57a5a743894a0e4a801fc3

sha1加密

hash = hashlib.sha1()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
d033e22ae348aeb5660fc2140aec35850c4da997

sha256加密

hash = hashlib.sha256()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

sha384加密

hash = hashlib.sha384()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
9ca694a90285c034432c9550421b7b9dbd5c0f4b6673f05f6dbce58052ba20e4248041956ee8c9a2ec9f10290cdc0782

sha512加密

hash = hashlib.sha512()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec

‘加盐’加密

以上加密算法虽然很厉害,但仍然存在缺陷,通过撞库可以反解。所以必要对加密算法中添加自定义key再来做加密。

######  md5 加密 ############
hash = hashlib.md5('python'.encode('utf-8'))
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
75b431c498b55557591f834af7856b9f

hmac加密

hmac内部对我们创建的key和内容进行处理后在加密

import hmac
h = hmac.new('python'.encode('utf-8'))
h.update('helloworld'.encode('utf-8'))
print(h.hexdigest())
b3b867248bb4cace835b59562c39fd55

获取文件的MD5

import hashlib
def md5sum(filename):"""用于获取文件的md5值:param filename: 文件名:return: MD5码"""if not os.path.isfile(filename):  # 如果校验md5的文件不是文件,返回空returnmyhash = hashlib.md5()f = open(filename, 'rb')while True:b = f.read(8096)if not b:breakmyhash.update(b)   f.close()return myhash.hexdigest()

python3 hashlib加密库 md5 sha1 sha256 sha384 sha512 加盐相关推荐

  1. 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?

    转载:http://blog.csdn.net/stpeace/article/details/41922115 openssl的库的用法, 前面已经介绍了, 所以不再啰嗦, 直接给出代码: [cpp ...

  2. C++计算md5/sha1/sha256/sha384/sha512算法

    最近需要分析文件的特征唯一值需求,这几个哈希算法就非常有用了.特别记录一下! 算法需要openssl库的支持,如果你勤快也能把库里面依赖的代码抠出来.我就懒得的弄了.直接编译openssl库 下载op ...

  3. **超防 ja3+加速乐(三种加密(md5,sha1,sha256)) 实战(python爬虫js逆向)

    **超防 加速乐+ja3 实战(python爬虫js逆向) 地址 aHR0cHM6Ly93d3cuaGVmZWkuZ292LmNuL2NvbnRlbnQvY29sdW1uLzY3OTQ4MTE/cGF ...

  4. python学习-通过md5/sha1/sha256/base64进行加解密

    hashlib模块为加密算法 MD5算法运行1000次的平均时间为:226ms SHA1算法运行1000次的平均时间为:308ms SHA256算法运行1000次的平均时间为:473ms 常见的为后面 ...

  5. java编码解码加密解密--md5、SHA-256、SHA-512、MAC、DES、AES、RSA

    md5 md5是一种散列算法,不可逆,是一种消息摘要算法,生成的字节数组的长度是128位,也就是等于16个字节,那么有的字节转化为字符之后,这些字符不一定是存在于ascii码之中,通常为了便于输出,我 ...

  6. 哈希算法SHA1,SHA256,SHA384,SHA512

    HASH算法,sha系列的基本写完 sha1 ,见我之前的一篇博客 http://andydhu.blog.51cto.com/3337368/824735 sha256 #include<st ...

  7. 快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)

    从网络上下载文件,尤其是非常大的文件怎么确保文件准确无误呢? 通常网站提供文件时会同时提供该文件的校验值,如MD5,SHA1,SHA256等, 当文件下载完成后,计算它的校验值,如果和网站提供的一致, ...

  8. 使用Windows自带的工具计算文件的 MD5 SHA1 SHA256

    使用Windows自带的工具计算文件的 MD5 SHA1 SHA256 很多网站会提供下载文件的校验码信息,在下载文件之后,如何方便地计算MD5 SHA1 SHA256等校验和呢?之前我常用的工具是H ...

  9. MD5,SHA-1,SHA-256摘要加解密

    2019独角兽企业重金招聘Python工程师标准>>> /*** 对字符串加密,加密算法使用MD5,SHA-1,SHA-256,默认使用SHA-256** @param strSrc ...

最新文章

  1. marquee 滚动字幕
  2. 小孩子如何学会语言?科学家使用计算机模型解释儿童语言学习过程
  3. Java虚拟机对类加载的处理机制
  4. sockjs.js:1609 GET http://192.168.1.119:8080/sockjs-node/info?t=1617976777339 net::ERR_CONNECTION_TI
  5. tl r402路由器设置_记一次TP-LINK路由器问题排查
  6. 什么叫直播秒开?如何实现秒开?
  7. 华为将正式发布鸿蒙手机操作系统;清华成立量子信息班;美团:外卖是微利业务,直接降低抽成无法持续|极客头条...
  8. 学python有前途吗-2019年转行学Python有还前途吗?如何学习Python?
  9. Windows bat批处理常用指令,常用指令及语法总结
  10. Android集成讯飞语音、百度语音、阿里语音识别
  11. 2019年1月起Oracle要对JDK8就要收费了!
  12. 2. webpack 处理 css less sass scss styl 资源
  13. 机器学习初探:(十一)主成分分析
  14. 2021年危险化学品经营单位安全管理人员报名考试及危险化学品经营单位安全管理人员考试资料
  15. 软件测试的术语SRS,HLD,LLD,BD,FD,DD意义
  16. 京东云PostgreSQL在GIS场景的应用分享
  17. 狂神学习系列04:MySQL+JDBC
  18. 集成流程安全报警功能迁移心得
  19. LVTTL转LVDS MS90C385B/G与LVDS转LVTTL MS90C386B 功能特点及应用详解
  20. linux读取spd信息,linux怎样读取memory spd

热门文章

  1. 读取字符串字符时出错_JVM | 运行时常量池和字符串常量池及intern()
  2. C 语言编程 — size_t 的意义与作用
  3. 5G NGC — 关键技术 — R15 SBA
  4. 输入过欠压保护电路原理图
  5. 【mybatis】mybatis中 的# 和 $的区别
  6. Electron 调用系统工具记事本、计算器等
  7. 数控四轴四面 CUBE 应用的软件开发
  8. MySQL添加用户、删除用户与授权
  9. [转]C/C++语言void及void指针深层探索
  10. 不能创建Outlook邮件的解决办法