广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python加密模块-hashlib模块
  • 926
分享到

python加密模块-hashlib模块

模块pythonhashlib 2023-01-31 02:01:00 926人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

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

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

--结束END--

本文标题: python加密模块-hashlib模块

本文链接: https://www.lsjlt.com/news/186733.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • python加密模块-hashlib模块
    hashlib模块 用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 (sha比md5 更复杂、md5 不能反解) 具体应用:用于网站防篡改。具...
    99+
    2023-01-31
    模块 python hashlib
  • Python加密与解密模块hashlib与hmac
    Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制...
    99+
    2022-11-11
  • python模块——hashlib
    python模块——hashlibhashlib模块是对许多hash函数的一个公共接口new(name, string = '')    执行给定的hash函数来返回一个新的hash对象,使用给定的字符串数据初始化hash对象。如:    ...
    99+
    2023-01-31
    模块 python hashlib
  • python hashlib模块
    hashlib模块:用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法SHA512 安全性最高SHA和MD5 是2种算法,SHA算法比...
    99+
    2023-01-30
    模块 python hashlib
  • python模块之hashlib
    hashlib模块实现了多种安全哈希和信息摘要算法的通用接口,包括FIPS中定义的SHA1, SHA224, SHA256, SHA384, SHA512以及RFC 1321中定义的MD5 注意点:1. adler32及crc32哈希由z...
    99+
    2023-01-31
    模块 python hashlib
  • Python基础之hashlib模块subprocess模块logging模块
    目录一、hashlib模块基本操作与用法二、subprocess模块简介基本操作与用法三、logging模块简介基本操作与用法一、hashlib模块 什么是哈希模块: hashlib...
    99+
    2022-11-11
  • 常用模块 - hashlib模块
    一、简介 Python的hashlib提供了常见的摘要算法,如MD5、SHA1、SHA224、SHA256、SHA384、SHA512等算法。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长...
    99+
    2023-01-31
    模块 常用 hashlib
  • Python的加密模块hashlib与base64怎么使用
    这篇文章主要介绍了Python的加密模块hashlib与base64怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python的加密模块hashlib与base64怎么使用文章都会有所收获,下面我们一起...
    99+
    2023-07-05
  • Python hashlib模块详情
    目录1. hashlib 模块概述1.1hashlib 模块特点1.2hashlib 模块使用步骤2. hashlib 工作原理2.1hash 算法特点2.2hash 构造方法2.3...
    99+
    2022-11-12
  • python hashlib模块算法
    python中的hashlib为我们提供了常见的摘要算法,如MD5、sha1 那么现在问题来了,摘要算法是what? 摘要算法又称哈希算法、散列算法。 它指的是把任意长度的数据data,通过函数f(),转换为一个长度固定的摘要diges...
    99+
    2023-01-30
    算法 模块 python
  • python hashlib模块学习
    目录 hashlib 模块 破解密码 hmac 模块 1.干嘛用的: 对字符进行加密,其实就是一个自定义的字符编码表,...
    99+
    2023-01-31
    模块 python hashlib
  • Python3 加密(hashlib和hmac)模块的实现
    以下代码以Python3.6.1为例 hashlib : 不可逆加密 hmac : 不可逆键值对方式加密 hashlib模块简介: hashlib模块为不同的安全哈希/安全散列(Secure H...
    99+
    2022-06-04
    模块 hashlib hmac
  • Python加密与解密模块hashlib与hmac怎么使用
    这篇“Python加密与解密模块hashlib与hmac怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python加...
    99+
    2023-06-30
  • python3--序列化模块,hashlib模块
    内置方法(回顾)__len__    len(obj)的结果依赖于obj.__len__()的结果,计算对象的长度__hash__   hash(obj)的结果依赖于obj.__hash__()的结果,计算对象...
    99+
    2023-01-30
    模块 序列化 hashlib
  • 盘点Python加密解密模块hashlib的7种加密算法(推荐)
    前言 在程序中我们经常可以看到有很多的加密算法,比如说MD5 sha1等,今天我们就来了解下这下加密算法的吧,在了解之前我们需要知道一个模块嘛就是hashlib,他就是目前Pytho...
    99+
    2022-11-12
  • Python的加密模块之hashlib与base64详解及常用加密方法
    目录hashlib 模块hashlib 模块中的常用加密方法hashlib模块情景练习base64 模块base64 模块的情景练习我们来学习一下 Python 中的加密模块,加密模...
    99+
    2023-02-24
    Python hashlib base64 Python hashlib base64加密
  • Python hashlib模块与subprocess模块使用详细介绍
    目录1、什么是哈希hash2、hash的用途3、如何用4、subprocess模块1、什么是哈希hash hash一类算法,该算法接受传入的内容,经过运算得到一串hash值 hash...
    99+
    2022-11-11
  • Python基础之hashlib模块详解
    一、hashlib简介 什么叫hash: hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA5...
    99+
    2022-06-02
    Python hashlib模块 python模块
  • python中hashlib模块用法示例
    我们以前介绍过一篇Python加密的文章:Python 加密的实例详解。今天我们看看python中hashlib模块用法示例,具体如下。 hashlib hashlib主要提供字符加密功能,将md5和sh...
    99+
    2022-06-04
    示例 模块 python
  • Python base64和hashlib模块如何使用
    本文小编为大家详细介绍“Python base64和hashlib模块如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python base64和hashlib模块如何使用”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作