Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以将md5生成的十六进制值反转回python中的原始文本_Python_Hash_Cryptography_Md5_Hashlib - Fatal编程技术网

有没有一种方法可以将md5生成的十六进制值反转回python中的原始文本

有没有一种方法可以将md5生成的十六进制值反转回python中的原始文本,python,hash,cryptography,md5,hashlib,Python,Hash,Cryptography,Md5,Hashlib,我生成md5散列并转换为十六进制值。 有没有一种方法可以在python中从十六进制值反转回原始文本 import base64 import hashlib def md5_hash(plain_text): return hashlib.md5(plain_text.encode()).hexdigest() md5_hash('123456') md5生成文本的十六进制值 'e10adc3949ba59abbe56e057f20f883e'您不能反转哈希值。它们不是加密。散列(

我生成md5散列并转换为十六进制值。 有没有一种方法可以在python中从十六进制值反转回原始文本

import base64
import hashlib

def md5_hash(plain_text):
    return hashlib.md5(plain_text.encode()).hexdigest()

md5_hash('123456')
md5生成文本的十六进制值
'e10adc3949ba59abbe56e057f20f883e'

您不能反转哈希值。它们不是加密。散列(md5、sha256等)是单向的。它们只能从
x->y
,而无法向后移动
y->x
。可以有多个值减少为同一哈希(称为冲突),其中
md5(value1)->x
md5(value2)->x
。这使得无法从散列中确定原始值


散列的全部目的是永远不允许您找回原始字符串


你能做的是尝试将md5应用于许多字符串,看看这些字符串中是否有一个与最终哈希相同的哈希,然后你可以得出结论,这个字符串可能是生成第一个md5哈希的字符串。(因为散列时信息丢失,您可能会遇到两个不同的字符串提供相同的散列)

我可以散列(SHA 512)文本的ASCII字符,然后尝试将其检索回来吗。您无法从散列中检索任何内容,否。可能会有多个ASCII字符产生相同的散列,因此,无法确定是哪些字符导致了上述散列。