前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python hashlib模块安装_python hashlib 模块

python hashlib模块安装_python hashlib 模块

作者头像
全栈程序员站长
发布于 2022-08-12 07:59:07
发布于 2022-08-12 07:59:07
2.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

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

python3中已经废弃了md5和sha模块

什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。

摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不同。

import hashlib

MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。

md5 = hashlib.md5()

md5.update(‘123456’.encode(‘utf-8’))

print(md5.hexdigest())

计算出的摘要

e10adc3949ba59abbe56e057f20f883e

SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。

sha1 = hashlib.sha1()

sha1.update(‘123456’.encode(‘utf-8’))

print(sha1.hexdigest())

计算出的摘要

7c4a8d09ca3762af61e59520943dc26494f8941b

比SHA1更安全的算法是SHA256、SHA384和SHA512,不过越安全的算法越慢,而且摘要长度更长。

sha256 = hashlib.sha256()

sha256.update(‘123456’.encode(‘utf-8’))

print(sha256.hexdigest())

计算出的摘要

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

sha384 = hashlib.sha384()

sha384.update(‘123456’.encode(‘utf-8’))

print(sha384.hexdigest())

计算出的摘要

0a989ebc4a77b56a6e2bb7b19d995d185ce44090c13e2984b7ecc6d446d4b61ea9991b76a4c2f04b1b4d244841449454

sha512 = hashlib.sha512()

sha512.update(‘123456’.encode(‘utf-8’))

print(sha512.hexdigest())

计算出的摘要

ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413

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

md5 = hashlib.md5(‘jiami’.encode(‘utf-8’))

md5.update(‘123456’.encode(‘utf-8’))

print(md5.hexdigest())

计算出的摘要

7cea57894be0879c73d39536cd13ead2

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

import hmac

h = hmac.new(‘jiami’.encode(‘utf-8’))

h.update(‘123456’.encode(‘utf-8’))

print(h.hexdigest())

计算出的摘要

c9132de0e588824bd284fc34cd6c9dc0

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131844.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python模块之hashlib
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
菲宇
2019/06/13
5880
Python3模块: hashlib
简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。 在python3中已经废弃了md5和sha模块,简单说明下md5和sha的使用。 什么是摘要算法呢?   摘要算法又称为哈希算法,散列算法。它通过一个函数,把任意长度的数据转换为一个长度固顶的数据串(通常用16进制的字符串表示)用于加密相关的操作。 应用: md5加密 1 hash = hashlib.md5() 2 hash.update('admin'.en
程序员同行者
2018/06/22
1.3K0
Python学习-hashlib
Python的hashlib提供了常见的摘要算法,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法。
py3study
2020/01/13
7250
python hashlib_Python hashlib模块实例使用详解
这篇文章主要介绍了Python hashlib模块实例使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
全栈程序员站长
2022/09/06
3670
Day19内建模块struct&hashlib&hmac
struct Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换。 struct的pack函数把任意数据类型变成bytes: >>> bs = bytes([b1,b2,b3,b4]) >>> bs b'\x00\x9c@c' pack的第一个参数是处理指令,'>I'的意思是: >表示字节顺序是big-endian,也就是网络序,I表示4字节无符号整数。 后面的参数个数要和处理指令一致。 unpack把bytes变成相应的数据类型: >>> struct.unpack(
林清猫耳
2018/04/26
8170
Day19内建模块struct&hashlib&hmac
hashlib 算法介绍
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
超蛋lhy
2018/08/31
5480
python下载hashlib命令_python之hashlib模块[通俗易懂]
#md5加密工具,md5是不可逆的,所以只能比较密文,不能比较明文,python中不仅仅提供md5加密方法,还提供sha1,sha224,sha256,sha384,sha512,MD5加密算法
全栈程序员站长
2022/09/05
3620
python 数据加密解密以及相关操作
ps:上面SHA系列算法是根据生成的密文的长度而命名的各种算法名称,如SHA1(160bits)、SHA224、SHA256、SHA384等。我们常听说的MD5算法生成的密文长度为128bits
用户8346838
2021/03/10
1.9K0
盘点Python加密解密模块hashlib的7种加密算法
在程序中我们经常可以看到有很多的加密算法,比如说MD5 sha1等,今天我们就来了解下这下加密算法的吧,在了解之前我们需要知道一个模块嘛就是hashlib,他就是目前Python一个提供字符加密的模块,它加密的字符类型为二进制编码,所以直接加密字符串会报错。
Python进阶者
2021/04/19
2.1K0
盘点Python加密解密模块hashlib的7种加密算法
【测试开发】python系列教程:hashlib 模块
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
雷子
2023/08/25
2360
【测试开发】python系列教程:hashlib 模块
python hashlib模块算法
它指的是把任意长度的数据data,通过函数f(),转换为一个长度固定的摘要digest(通常用16进制的字符串表示),
py3study
2020/01/19
5630
常用模块 - hashlib模块
Python的hashlib提供了常见的摘要算法,如MD5、SHA1、SHA224、SHA256、SHA384、SHA512等算法。
py3study
2020/01/15
6430
hashlib模块
hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。 摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难
用户1214487
2018/01/23
8490
哈希算法(hash)加密解密
一、哈希算法(hash)加密解密介绍 哈希,英文叫做 hash。 哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。 我们习惯把 要计算 的数据称之为 源数据, 计算后的结果数据称之为 哈希值(hash value)或者 摘要(digests)。 有好几种哈希函数,对应不同的算法, 常见有的 MD5, SHA1, SHA224, SHA256, SHA384, SHA512 哈希计算的特点是: 相同的 源数据, 采用 相同的哈希算法, 计算出来的哈希值
懿曲折扇情
2022/08/24
6.7K0
哈希算法(hash)加密解密
python hashlib模块
hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法
Python疯子
2018/09/06
8650
python hashlib_python加密之hashlib[通俗易懂]
1、强大的hashlib,提供了用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
全栈程序员站长
2022/08/11
4530
python hashlib模块
hashlib模块:用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
py3study
2018/08/02
3720
『Python』hashlib的简单使用
hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值
全栈程序员站长
2022/06/27
3420
python加密模块-hashlib模块
用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 (sha比md5 更复杂、md5 不能反解) 具体应用:用于网站防篡改。具体方法:监控网站被篡改,定时的去wget 去下载,然后md5比对 ,检查网站是否被篡改。
py3study
2020/01/10
1.2K0
#小手一抬学Python#Python 哈希表与可哈希对象
哈希表是键值对的无序集合,其每个键都是唯一的,核心算法是通过索引去查找值,Python 中的字典符合哈希表结构,字典中每个键对应一个值,my_dict={"key1":"value1","key2":"value2"}。
程序员迪迪
2021/12/28
6690
相关推荐
python模块之hashlib
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文