我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python加密模块-hashlib模块

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python加密模块-hashlib模块

hashlib模块

用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法
(sha比md5 更复杂、md5 不能反解)

具体应用:用于网站防篡改。具体方法:监控网站被篡改,定时的去wget 去下载,然后md5比对 ,检查网站是否被篡改。

如何验证md5 呢, 就是在生成一次md5值 比较是否相同。

具体使用方法:

#导入模块
import hashlib

生成一个加密的对象并复制给变量
m = hashlib.md5()

给对象输入加密bytes字符类型
m.update(b"hello")
m.update(b"it's me")

打印加密后的md5值,输出二进制hash
print(m.digest())

打印加密后的md5值,输出十六进制格式hash
print(m.hexdigest())

查看十六进制格式hash的长度为32
print(len(m.hexdigest()))

以下是六种加密方法一一示例:

# SHA1加密
sha = hashlib.sha1()
sha.update("管理员".encode(encoding="utf-8"))
print(sha.hexdigest())

# SHA224加密
sha224 = hashlib.sha224()
sha224.update(b"admin")
print(sha224.hexdigest())

# SHA256加密
sha256 = hashlib.sha256()
sha256.update(b"admin")
print(sha256.hexdigest())

# SHA384加密
sha384 = hashlib.sha384()
sha384.update(b"admin")
print(sha384.hexdigest())

# SHA512加密
sha512 = hashlib.sha512()
sha512.update(b"admin")
print(sha512.hexdigest())

# MD5加密
md5 = hashlib.md5()
md5.update(b"admin")
print(md5.hexdigest())

hmac模块

python还有一个hmac模块,它内部对我们创建key和内容 再进行处理 再加密!
散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;

一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送,用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。

算法表示:

算法公式 : HMAC(K,M)=H(K⊕opad∣H(K⊕ipad∣M))[1]

H 代表所采用的HASH算法(如SHA-256)

K 代表认证密码

Ko 代表HASH算法的密文

M 代表一个消息输入

B 代表H中所处理的块大小,这个大小是处理块大小,而不是输出hash的大小

如,SHA-1和SHA-256 B = 64

SHA-384和SHA-512 B = 128

L 表示hash的大小

Opad 用0x5c重复B次

Ipad 用0x36重复B次

Apad 用0x878FE1F3重复(L/4)次

认证流程

(1) 先由客户端向服务器发出一个验证请求。

(2) 服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为挑战)。

(3) 客户端将收到的随机数提供给ePass,由ePass使用该随机数与存储在ePass中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应)。

(4) 与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-MD5运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。

具体使用方法:

#导入模块
import hmac

#设置密码和消息 进行加密
h = hmac.new("哈哈哈".encode(encoding="utf-8"),"你好".encode(encoding="utf-8"))

#打印加密后的字符
print(h.hexdigest())

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python加密模块-hashlib模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python加密模块-hashlib模块

hashlib模块用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法(sha比md5 更复杂、md5 不能反解)具体应用:用于网站防篡改。具体方法:
2023-01-31

python模块——hashlib

python模块——hashlibhashlib模块是对许多hash函数的一个公共接口new(name, string = '')    执行给定的hash函数来返回一个新的hash对象,使用给定的字符串数据初始化hash对象。如:    
2023-01-31

python hashlib模块

hashlib模块:用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法SHA512 安全性最高SHA和MD5 是2种算法,SHA算法比
2023-01-30

python模块之hashlib

hashlib模块实现了多种安全哈希和信息摘要算法的通用接口,包括FIPS中定义的SHA1, SHA224, SHA256, SHA384, SHA512以及RFC 1321中定义的MD5注意点:1. adler32及crc32哈希由zli
2023-01-31

常用模块 - hashlib模块

一、简介Python的hashlib提供了常见的摘要算法,如MD5、SHA1、SHA224、SHA256、SHA384、SHA512等算法。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定
2023-01-31

python hashlib模块算法

python中的hashlib为我们提供了常见的摘要算法,如MD5、sha1那么现在问题来了,摘要算法是what?摘要算法又称哈希算法、散列算法。它指的是把任意长度的数据data,通过函数f(),转换为一个长度固定的摘要digest(通常用
2023-01-30

python hashlib模块学习

目录 hashlib 模块 破解密码 hmac 模块 1.干嘛用的: 对字符进行加密,其实就是一个自定义的字符编码表,我们原来接触的是计算机语言0和1然
2023-01-31

Python的加密模块hashlib与base64怎么使用

这篇文章主要介绍了Python的加密模块hashlib与base64怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的加密模块hashlib与base64怎么使用文章都会有所收获,下面我们一起
2023-07-05

python3--序列化模块,hashlib模块

内置方法(回顾)__len__ len(obj)的结果依赖于obj.__len__()的结果,计算对象的长度__hash__ hash(obj)的结果依赖于obj.__hash__()的结果,计算对象的hash值__eq__ obj
2023-01-30

Python3 加密(hashlib和hmac)模块的实现

以下代码以Python3.6.1为例hashlib : 不可逆加密hmac : 不可逆键值对方式加密hashlib模块简介: hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 信息摘要算法(Mes
2022-06-04

Python加密与解密模块hashlib与hmac怎么使用

这篇“Python加密与解密模块hashlib与hmac怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python加
2023-06-30

Python的加密模块之hashlib与base64详解及常用加密方法

我们来学习一下Python中的加密模块,加密模块在工作中被广泛应用,比如数据的传入不希望被捕获,通过把数据加密。这样即使被捕获也无法获取到数据的真实信息,今天我们就来学习一下关于加密的方法,感兴趣的朋友跟随小编一起看看吧
2023-02-24

Python基础之hashlib模块详解

一、hashlib简介 1.什么叫hash: hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
2022-06-02

python中hashlib模块用法示例

我们以前介绍过一篇Python加密的文章:Python 加密的实例详解。今天我们看看python中hashlib模块用法示例,具体如下。 hashlibhashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha
2022-06-04

Python base64和hashlib模块如何使用

本文小编为大家详细介绍“Python base64和hashlib模块如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python base64和hashlib模块如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录