首页 > 编程语言 >Python hashlib模块

Python hashlib模块

时间:2023-06-24 17:11:12浏览次数:45  
标签:######## hashlib hash Python hexdigest 模块 print md5

Python hashlib模块

hashlib模块

  • 用于加密相关的操作,代替了md5模块和sha模块
  • 主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
# md5废弃
 
import md5
hash = md5.new()
hash.update('admin')
print hash.hexdigest() 
# sha 废弃
 
import sha
hash = sha.new()
hash.update('admin')
print hash.hexdigest() 

hashlib加密

import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5()
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
# ######## sha1 ########
 
hash = hashlib.sha1()
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
# ######## sha256 ########
 
hash = hashlib.sha256()
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
# ######## sha384 ########
 
hash = hashlib.sha384()
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
# ######## sha512 ########
 
hash = hashlib.sha512()
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
# 输入结果:
48fc6919f119605c4064ea7d81ac6b34
f2e9afa0fbde5b05a444f7bc75d6695fbb84b8d0
05406e832ad8456184cd36fd3bd88dd1fff2392eb873a1fe7aff9e6332bd7a35
3e8027e7a2aa54ba604fbe66f853212f23b4fbae80883972fc8a24a92c04b9cb7c3ee01840ccb98f5c3edf897d15f9fa
e7931c755048f72babc0b6f016c1581a51c4af7d3bef64a1c21156866a68cccf37d6914bacde9f0d7b83e328bc2025847f6754b6eec57be91f06e6ad5ca17d1b

python3,2种加密书写格式

import hashlib
 
# ######## md5 ########
 
hash = hashlib.md5()
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
hash = hashlib.md5()
hash.update(b"evescn")
print(hash.hexdigest())
 
# 输入结果:
48fc6919f119605c4064ea7d81ac6b34
48fc6919f119605c4064ea7d81ac6b34

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

import hashlib

# ######## md5 ########

hash = hashlib.md5("evescn".encode('utf-8'))
hash.update("evescn".encode('utf-8'))
print(hash.hexdigest())
 
# 输入结果:
d6fd21d81a89fa360fe2ee37c6417b6f

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

import hmac

h = hmac.new(b"evescn")
h.update(b"evescn")
print(h.hexdigest())
 
# 输入结果:
bd4e50d0a9c686fad0a0be089ba918be

标签:########,hashlib,hash,Python,hexdigest,模块,print,md5
From: https://www.cnblogs.com/evescn/p/17501337.html

相关文章

  • 在 Python 中,类型属于对象,变量是没有类型的
    在Python中,类型属于对象,变量是没有类型的:━━━━━━━━━━━━━━━━━━━━━━━━━a=[1,2,3]a="w3cschool"以上代码中,[1,2,3]是list类型,"w3cschool"是string类型,而变量a是没有类型,她仅仅是一个对象的引用(一个指针),可以是list类型对象,也可以指向是stri......
  • Python 模块(转载)
    Python常用模块模块分类自定义模块开源模块内置模块自定义模块定义模块情景一情景二情景三导入模块Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有一下几种方法:importmodulefrom......
  • python: Treeview Control binding data using tkinter and ttkbootstrap GUI
     """StudentUI.py读文件类date2023-06-24edit:GeovinDu,geovindu,涂聚文ide:PyCharm2023.1python11"""importdatetimeimportsysimportosfromtkinterimportttkfromtkinterimport*fromtkinter.ttkimport*fromttk......
  • 若依微服务swagger如何不显示某个模块的接口文档?
    在若依微服务项目中,如果不想暴露某个模块的swagger的接口文档,需要怎么做?本文以ruoyi-gen模块进行举例说明。  默认情况下,可以看到这里包含了ruoyi-gen模块,我们要做的是,要将ruoyi-gen进行隐藏。最终的预期结果如下图所示,可以看见,下图中,是不包含ruoyi-gen这个模块的。那我们具体应......
  • 用python打开文件夹
    '''用python打开文件夹''''''https://blog.csdn.net/yqyangcyq/article/details/105677844'''os.system("explorer.exe%s"%str_dizh)#打开(可重复打开)目标文件夹os.startfile(str_dizh)#打开(并且屏幕上只存在一个/不会重复打开......
  • "ntoskrnl"代表"NT Operating System Kernel",它是Windows操作系统的主要核心模块之一,
    Windows内核是微软Windows操作系统的核心组件,它负责管理操作系统的核心功能和提供关键的系统服务。Windows内核是运行在计算机硬件上的软件,它与硬件交互并管理资源分配、进程管理、设备驱动程序和系统安全等任务。Windows内核采用了一种称为“混合内核”的设计,结合了传统的单内核......
  • 堡垒机模块-(jumperserver部署完成)
    堡垒机模块原创 希里安 希里安 2023-05-3018:00 发表于四川收录于合集#堡垒机1个#webshell1个#开源4个关注“希里安”,get更多有用干货 前两天在项目里加了个webshell,还没开发完成,有读者朋友说费那劲干嘛,直接引入类似jumpserver开源堡垒机就完事了。说的不......
  • Python 3.11 无法使用opencv的解决方法
    尝试了各种办法,默认安装方法pipinstallopencv-python安装后,importcv2提示缺少dll文件。下载了opencv4.7,添加路径到环境变量PYTHONPATH,但是里面没有提供给python3.11的config.py只有给3.10的,还是不成功。所以,只好卸载了Python3.11,安装了Python3.10,直接用默认安装方法pipin......
  • python: object 专有方法
     """StudentScoreInfo.py学生成绩类date2023-06-16edit:GeovinDu,geovindu,涂聚文ide:PyCharm2023.1python11"""importdatetimeimportsysimportosclassStudentScore(object):"""学生成绩类"&q......
  • Python 求最大公约数
    题目要求求最大公约最简单快速的方式还是欧几里得算法原理:已知m、n两个不全为0的非负整数gcd(m,n)1:如果n=0,返回m作为结果,否则进入22:m对n取余,余数赋值给r3:将n赋值给m,r赋值给n,返回1参考实现defgcd(m,n):'''求最大公约数:paramm::paramn::ret......