python内建函数hash()针对不可变对象提供计算哈希值,但我觉得没啥用,可能这个函数的唯一作用就是python字典用了这个函数实现哈希。

python内建库hashlib库提供了很多哈希算法。

哈希算法也称为散列算法,就是把不可变对象依靠着哈希函数映射到一串字符。

哈希函数(不可变对象)= 哈希结果

性质:

  • 1 不可变对象有无穷多个,哈希结果长度一般是唯一的,也就是说哈希结果个数是有限个。那么从无限个到有限个的映射,必然有哈希冲突:两个不一样的不可变对象映射到了同一个哈希结果。
  • 2 显而易见的是,哈希结果的长度越长,能表示的不可变对象越多,冲突可能会少。
  • 3 sha256就是一种哈希函数。长度还挺高。256个二进制位!
  • 4 同一个不可变对象每次出来的哈希结果必须相同!
  • 5 哈希函数计算得越快越好,这是哈希的用途理念决定的。
  • 6 相似的不可变对象的哈希结果需要相差很大。
  • 7 知道哈希结果反推出不可变对象,必须是一件不可能的事情。

import hashlib
import traceback
for i in ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512','blake2b', 'blake2s','sha3_224', 'sha3_256', 'sha3_384', 'sha3_512'):try:print(i,'------------>')print(getattr(hashlib, i)("block_string".encode()).hexdigest())except:traceback.print_exc()print(i)

结果

md5 ------------>
3042e468364703bfc1d2fd07306cb44b
sha1 ------------>
9560f723997057817cd85d068d3b579761122f1b
sha224 ------------>
32bbdcf30cca685f4aceaca23855596b9cd758844f4e9c81c449689e
sha256 ------------>
8f4a106f3a2c581fa60a968c74bf5e7b2ed4c03aa9739dadd197d6aae0c7d343
sha384 ------------>
047c4bbb27e91c2957bd588031dbadb86879ce2a12181c817077433a0f54dcfd23b16f22d8234b5d2be38ec0e7c97c54
sha512 ------------>
b796f690a39228c45952c3f5a1d12ca8086d4333c95b0855e31e7bcbcc1d88b0e8d250cbd89d9f11183733862d78b76984d16b316d512163a83b45f269912723
blake2b ------------>
2f2d7350968dd64f75fa7d045c6bbb70fedd20950e026d03c299f1aad29300572cc7f389e6eb4e5c8603d39dab720dc4087f200de51983d4683f74bd5aa36b61
blake2s ------------>
931e57c1ed77bfc3854a900dd4e5403d69ad4bb73d38289c214bd2abd508f874
sha3_224 ------------>
b25758d1ff393afa0c5bb07f9e7e3170d7bdf87c94a299db2c747a0c
sha3_256 ------------>
97ae01c43d6a0151fa4fd80fe565b39811950308fad5b8fac4b89515084f7307
sha3_384 ------------>
d9a5d65d50c0b8364686e5752fb990d3bb03314255b83924992a451c51ec45e679c60b379c86ff5f6aba9b11c9a928ea
sha3_512 ------------>
8cb00f6b561d411ecb8ec9b0de57ae34ddece0ac3cf10f1c338629815a7301113de00d4ffc7f8da510ff46bc0cbc62bb944d2d9896bfc3e416485c60a4d66e6d

python hashlib库 sha256算法 md5相关推荐

  1. python hashlib库(MD5,sha1,sha256,sha512,pbkdf2_hmac)用法及pbkdf2原理

    文章目录 1 python hashlib 库 1.1 md5 1.2 sha1 1.3 sha256 1.4 sha512 1.5 pbkdf2_hmac 2 PBKDF2 函数原理 2.1 PBK ...

  2. python加密解密 sha256_Python hashlib库的使用|md5加密,sha1加密,sha256加密

    一.为什么我们需要引用hashlib库?安全安全安全! 任何允许用户登录的网站或app都会存储用户登录的用户名和口令.密码一般都不会以明文的方式进行存储,如果黑客登陆了你的数据库系统或者你的数据库泄露 ...

  3. Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)

    Python hashlib 加密 Python 提供了 hashlib 模块来进行加密操作.在下面的文章中,我们将介绍 hashlib 模块的常用加密算法. 1. hashlib 简介 hashli ...

  4. python hashlib 哈希算法

    写在篇前 ​ 哈希加密算法应用非常广泛,包括数字签名,身份验证,操作检测,指纹,校验和(消息完整性检查),哈希表,密码存储等.在密码学中,好的哈希算法应该满足以下两个条件:一是无法从哈希值解密原始消息 ...

  5. Python hashlib库和hamc库

    import hashlib import hmac#这两个模块是用来进行数据加密 #hashlib模块里主要支持两个算法: md5 和 sha 加密 #加密方式:单向加密(md5和sha):只有加密 ...

  6. 使用python hashlib模块给明文字符串加密,以及如何撞库破解密码

    文章目录: 1 hashlib介绍 2 hashlib模块使用 2.1 查看hashlib中有哪些hash算法 2.2 对字符串进行加密 2.3 对于数据比较大,加密可以分块,结果一样 2.4 has ...

  7. 【Python】计算文件的MD5、SHA1、SHA256值(校验文件完整性)

    引言 从网络上下载大文件时,官网一般都会提供一个MD5.SHA1或SHA256值: 很多同学可能会好奇这些东西到底是干嘛的?其实这是用来校验文件完整性的.因为从网络上下载大文件具有不确定性,可能会受很 ...

  8. AI: Python 的Matplotlib 绘图算法库 介绍。

    Python 的Matplotlib 绘图算法库 介绍. Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形  . 通过 Matp ...

  9. 【PLA】基于Python实现的线性代数算法库之斯密特正交化

    [PLA]基于Python实现的线性代数算法库之斯密特正交化 算法包下载链接:https://download.csdn.net/download/qq_42629529/79481514 from ...

最新文章

  1. IE6中Form.submit不提交的问题
  2. 机器学习中矩阵向量求导
  3. [Golang] GOROOT、GOPATH和Project目录说明
  4. 9. 设计二个函数分别计算sinx和cosx_【数组分享】PHP函数array_udiff_assoc ()分享(20201128)...
  5. javascript-入门篇-使用js的三种方式
  6. hihocoder-1623-有歧义的号码
  7. 微信小程序问答论坛+后台管理系统
  8. 足球机器人比赛3V3
  9. 发那科机器人示教器按键解读
  10. windows系统漏洞修复CVE-2016-2183,CVE-2013-2566,CVE-2015-2808
  11. python 递归,迭代器,生成器,面向过程编程
  12. 三维重建KInectFusion 学习笔记
  13. il和idl区别_MinoxidilMax出品 Dualgen 15% Minoxil脫髮治療的用藥心得
  14. 免费临时网页邮箱(可丢弃式邮箱)
  15. kali使用笔记本自带无线网卡_kali学习笔记之——wi read():Network is down问题
  16. 第21节迁移学习原理及实例
  17. python基础-BytesIO,StringIO
  18. input中鼠标点击清楚按钮之后的聚焦回input的方法
  19. 爬取美女图片【绝对福利】
  20. LeetCode——Weekly Contest 314

热门文章

  1. ardupilot 地形数据触发RTL模式
  2. 关于机器学习的定义的理解
  3. 好莱坞洞穴重现“小宇宙”,投影技术创造极致体验
  4. PCIe热插拔机制(详细)总结-PCIe专题知识(五)
  5. 用animation实现无缝轮播图
  6. 基于Opencv-python 实现视频按帧截取图片
  7. Tesla计算卡怎么游戏
  8. QTP11.00支持的IE版本
  9. 高数下册作业题目及答案
  10. Vue前端项目【尚品汇】