hash模块 hashlib 和hmac

hashlib模块

  1. 用于加密相关的操作,代替md5模块和sha模块,主要提供SHA1,SHA224,SSHA256,SHA384,SHA512,MD5算法
  2. 直接看代码案例:

---------md5-----------

hash = hashlib.md5()
hash.update(bytes(‘admin‘,encoding=‘utf-8‘))
print(hash.hexdigest())
print(hash.digest())  

----------sha1---------

hash = hashlib.sha1()
hash.update(bytes(‘admin‘,encoding=‘utf-8‘))
print(hash.hexdigest())  

----------sha256-------

hash = hashlib.sha256()
hash.update(bytes(‘admin‘,encoding=‘utf-8‘))
print(hash.hexdigest())

---------sha384--------

hash = hashlib.sha384()
hash.update(bytes("admin",encoding=‘utf-8‘))
print(hash.hexdigest())  

------------sha512--------

hash = hashlib.sha512()
hash.update(bytes(‘admin‘,encoding=‘utf-8‘))
print(hash.hexdigest())  

注意

以上加密算法虽然非常厉害,但有时存在缺陷,即:通过撞库可以反解。

所以,有必要对加密算法中添加自定义key再来加密

hash = hashlib.md5(bytes(‘790dfhdfe3‘,encoding=‘utf-8‘))
hash.update(bytes(‘admin‘,encoding=‘utf-8‘))
print(hash.hexdigest())
-------------------------------
python 内置还有一个hmac模块,它内部对我们创建key和内容进行进一步的处理然后再加密
import hmac
h = hmac.new(bytes(‘dfew3‘,encoding="utf-8"))
h.update(bytes(‘admin‘,encoding="utf-8"))
print(h.hexdigest())
  
时间: 2024-12-16 13:05:05

hash模块 hashlib 和hmac的相关文章

Python 摘要算法hashlib 与hmac

参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017686752491744 摘要算法(也成为哈希算法)是用来防篡改的,因为我们的即使元数据改动一个字节,通过加密算法得出的摘要也会千差万别,从而我们可以比较两个文件的摘要,而得出这个文件是否被改动. Python 内建模块hashlib提供了摘要算法 MD5 MD5是常见的摘要算法,速度很快,生成结果是固定的128bit字节,通常由32位的16进制字符串表示(因为一个16进制的字符

python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等) #http://www.cnblogs.com/BeginMan/p/3328172.html #以常见的摘要算法MD5为例,计算出一个字符串的MD5值 import hashlib m = hashlib.md5() #创建hash对象 m.update('xiaodeng') #更新哈希对象以字符串参数 print m.

python模块——hashlib

python模块--hashlib hashlib模块是对许多hash函数的一个公共接口 new(name, string = '')    执行给定的hash函数来返回一个新的hash对象,使用给定的字符串数据初始化hash对象.如: >>> import hashlib >>> hashlib.new('md5', string='abc').hexdigest()    #hexdigest() 使加密后的结果以十六进制显示 '900150983cd24fb0d6

模块hashlib

md5加密 >>> import hashlib >>> a=hashlib.md5() >>> a.update(b"Hello") >>> a.update(b"It's me") >>> print(a.digest())    #二进制显示 b']\xde\xb4{/\x92Z\xd0\xbf$\x9cR\xe3Br\x8a' >>> print(a.

python - 常用模块 - hashlib模块

python3中的hashlib库主要是为大家提供了python中常用的加密方式 其中SHA1官方不再支持,不建议用.md5()的安全性不如SHA2,所以推荐使用SHA2做加密算法 hashlib里面的加密方式都是单向加密,没有反加密方式,所以在使用时,比如密码验证,在数据库里面存储的是加密后的值,再把用户输入的密码进行相同加密方式,再对比 hashlib里面主要提供 md5, sha1, sha224, sha256, sha384, sha512 算法各种加密算法在使用上,只是声明加密方式的

包、time、datetime、hashlib和hmac、request、re

目录 包 包的特点 time模块 datetime模块 hashlib模块和hmac模块 hmac密钥(加盐) typing模块 request模块 正则模块 以下必须得记住 哪些做了解 包 包,这里的包就相当于模块,当一个模块的功能特别强大时需要写在多个文件里,这就用到了包,包不改变模块的导入方式,在包里可以写多个文件,还可以包里再建包. 包的特点 包是含有__init__.py的文件夹,导入包就是导入__init__ 包的导入: 如图所示'包的介绍.py'是和'aaaa'文件夹同一级的执行文

Python常用模块——hashlib加密

Python常用模块--hashlib加密 一.HASH Hash,一般翻译为"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列程相同的输出,而不可能从散列值来唯一的确定输入值. 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. HASH主要用于信息安全领域中加密算

python模块 hashlib(加密服务)

https://docs.python.org/zh-cn/3/library/hashlib.html hashlib --- 安全哈希与消息摘要 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要digest algorithms算法呢?摘要算法又称哈希hash算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). hash算法 每种类型的hash都有一个构建器方法,返回一个hash对象和相同的简单接口.

Python3 内建模块 hashlib、itertools、HTMLParser、urllib

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'.如果有人篡改了你的文章,并发表为'how to use pytho