【发布时间】:2018-03-16 02:59:05
【问题描述】:
我知道生成MD5哈希值的字符串和算法,是否可以从生成的哈希中取回字符串。
【问题讨论】:
我知道生成MD5哈希值的字符串和算法,是否可以从生成的哈希中取回字符串。
【问题讨论】:
哈希的定义是一个单向的、唯一的、加密的值。从数学上讲,几乎不可能取回从散列生成的字符串。
例外情况是:
散列算法中的一个漏洞(这发生在MD5上,但仍然很难破解)
强制(猜测)字符串,直到找到匹配的哈希
使用知名短语/单词的查找表及其相关哈希值,例如:https://crackstation.net/
【讨论】:
没有;根据定义,散列是一种单向过程。
如果不强制使用不同的字符串,则无法从哈希中导出原始字符串,直到找到一个生成相同哈希的字符串。
此过程可能需要很长时间,尽管存在已知哈希的数据库可以加快该过程。
您还应该知道,两个不同的字符串可以具有相同的哈希值。这称为哈希冲突。
【讨论】:
MD5 是加密哈希函数。它产生一个 128 位的哈希值。它是 32 位十六进制数字的文本格式。 用于验证数据完整性。
不,您无法从哈希值中获取实际值。我认为您正在寻找加密和解密机制。
【讨论】: