首页 > 编程语言 >Python3 md5

Python3 md5

时间:2024-01-26 15:38:01浏览次数:24  
标签:hashlib update 密码 md5 Python3 MD5

Python3 md5

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

在python3的标准库中,已经移除了md5模块,而关于hash加密算法都放在hashlib这个标准库中,hashlib提供了常见的摘要算法,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。

基础用法

import hashlib
# 创建md5加密对象
md5 = hashlib.md5()
# 更新MD5对象
md5.update(b"Hello")
# 获得加密后的字符串
md5_str = md5.hexdigest()
# 8b1a9953c4611296a827abf8c47804d7

update(arg)的参数必须是byte类型的数据,否则会报错,所以要在参数前添加b来转换类型。
update(arg)方法可以重复调用,md5会将传入的arg参数进行拼接,而不是覆盖。

如果数据是中文,需要先将数据转换成UTF-8/GBK/GB2312/GB18030格式。

# 更新MD5对象
md5.update("你好".encode('utf-8'))

md5 十六进制大写密码:

md5_str.upper()
# B269DFA110589CD1BA319F72B4F2E2FB

md5加盐:

  • 随机生成一段字符串作为盐值
  • 将盐值与密码拼接,形成加盐密码
  • 使用md5对加盐密码加密
md5.update(b"Hello")
md5.update(b"123456")

标签:hashlib,update,密码,md5,Python3,MD5
From: https://www.cnblogs.com/wflzp/p/17989410

相关文章

  • # python3 安装Crypto包 出现No module named ‘Crypto‘和No module named ‘Crypto.
    python3安装Crypto包出现Nomodulenamed‘Crypto‘和Nomodulenamed‘Crypto.Util‘问题解决方法1.改成安装pycryptodome然而在python36中无法报错:error:MicrosoftVisualC++14.0orgreaterisrequired"2.改用Anaconda安装指定版本的pycryptodomepipins......
  • 惠金所-MD5
    importbase64importjsonimporthashlibimportrequestscookies={'sajssdk_2015_cross_new_user':'1','sensorsdata2015jssdkcross':'%7B%22distinct_id%22%3A%2218d3a22e6af3f2-07052966993d9d-26001951-2073600-18......
  • 文件传输中的MD5校验技术
     1.文件的MD5校验简介 文件的MD5校验是一种常用的文件完整性验证方法。MD5(MessageDigestAlgorithm5)是一种广泛应用的哈希算法,它能够将任意长度的数据转换为固定长度的哈希值。在文件校验中,MD5算法通过计算文件的哈希值,将文件内容转化为唯一的128位(16字节)哈希值。这个哈......
  • 基于python3 flet库的证书查看工具
    前言基于python3flet库实现了证书信息的提取,留作自用,如有错误欢迎指正。正文程序架构:主程序main.py证书解析程序certHandle.py运行pythonmain.pymain.py#-*-coding:utf-8-*-importbase64importtracebackimportjsonimportfletasftfromcertHandleimp......
  • python3使用socket模块实现简易syslog服务器
    废话不多说直接上代码1importsocket2importtime345defsocket_bind(server_socket,host,port=514,max_retries=5):6retries=07whileretries<max_retries:8try:9server_socket.bind((host,port))10......
  • 为文件一键命名为其md5值
    为文件一键命名为其md5值不知道怎么给文件命名?一键命名为其md5不就是了!单文件拖拽版无需启动,直接将文件拖拽到.bat文件上@echooffsetlocalenabledelayedexpansion::获取文件完整路径set"file_path=%~1"::检查文件是否存在ifnotexist"!file_path!"(echoF......
  • python3之多进程线程
    本文内容参考https://www.liaoxuefeng.com/wiki/1016959663602400/1017628290184064 多进程os模块的fork()多进程(multiprocessing):Unix/Linux操作系统提供了一个fork()函数,fork()函数调用时,操作系统自动把当前进程(父进程)复制了一份(子进程),然后分别在父进程和子进程内返回。......
  • Spring 工具:DigestUtils md5 摘要工具
    工具类:org.springframework.util.DigestUtils作用:计算字节数组、输入流的md5摘要所在模块:spring-core方法描述Stringmd5DigestAsHex(byte[]bytes)返回字节数组的md5摘要(计算字符串)Stringmd5DigestAsHex(InputStreaminputStream)返回输入流的md5......
  • Python3 使用 PyMuPDF 库提取pdf中的字体文件
    先安装PyMuPDF库:pipinstallPyMuPDF 示例:importfitzdefextract_fonts(pdf_path):withfitz.open(pdf_path)asdoc:num_pages=doc.page_countfonts=[]forpage_numberinrange(num_pages):font_info=doc.get......
  • Python3环境安装
    Ubuntu下自带Python。python3-Vpython3--versionPython3.10.12sudoapt-getinstallpython3-pippip -Vpip3--versionpip22.0.2from/usr/lib/python3/dist-packages/pip(python3.10)sudoaptinstallpython3.10-venvpython3-mvenvmyenvsourcemyenv/bin/activ......