Python中的MD5哈希解析和工作原理

2021年3月11日17:12:34 发表评论 1,186 次浏览

加密哈希用于日常生活中, 例如数字签名, 消息身份验证代码, 操作检测, 指纹, 校验和(消息完整性检查), 哈希表, 密码存储等等。它们还用于通过网络发送消息以提高安全性或将消息存储在数据库中。

在"

哈希库

"的python库。

本文讨论MD5哈希的解释和工作。

MD5哈希

该哈希函数接受字节序列并返回128位哈希值, 通常用于检查数据完整性, 但存在安全问题。

相关功能:

  • encode():将字符串转换为字节, 以供哈希函数接受。
  • 消化() :返回字节格式的编码数据。
  • hexdigest():返回十六进制格式的编码数据。

以下代码演示了MD5哈希接受字节并以字节输出的工作方式。

# Python 3 code to demonstrate the 
# working of MD5 (byte - byte)
  
import hashlib
  
# encoding lsbin using md5 hash
# function 
result = hashlib.md5(b 'lsbin' )
  
# printing the equivalent byte value.
print ( "The byte equivalent of hash is : " , end = "")
print (result.digest())

输出如下:

The byte equivalent of hash is : b'\xf1\xe0ix~\xcetS\x1d\x11%Y\x94\\hq'

说明:

上面的代码占用字节, 并且可以被哈希函数接受。 md5哈希函数对其进行编码, 然后使用digest()来打印等效字节编码的字符串。

下面的代码演示了如何将字符串作为编码值的输入和输出十六进制等效项。

# Python 3 code to demonstrate the 
# working of MD5 (string - hexadecimal)
  
import hashlib
  
# initializing string
str2hash = "lsbin"
  
# encoding lsbin using encode()
# then sending to md5()
result = hashlib.md5(str2hash.encode())
  
# printing the equivalent hexadecimal value.
print ( "The hexadecimal equivalent of hash is : " , end = "")
print (result.hexdigest())

输出如下:

The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871

说明:上面的代码接受字符串, 并使用encode()将其转换为等效的字节, 以便哈希函数可以接受它。 md5哈希函数对其进行编码, 然后使用hexdigest()来打印等效于十六进制的字符串。

注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: