【发布时间】:2018-01-29 08:28:52
【问题描述】:
ร编码成0f93821e0fbc6d3736da7df2c73024aa
我想知道是否可以将哈希解码回 unicode 形式。如果是这样,我该如何处理或如何执行此操作。
感谢您的帮助。
【问题讨论】:
标签: encryption unicode hash md5 decode
ร编码成0f93821e0fbc6d3736da7df2c73024aa
我想知道是否可以将哈希解码回 unicode 形式。如果是这样,我该如何处理或如何执行此操作。
感谢您的帮助。
【问题讨论】:
标签: encryption unicode hash md5 decode
Whites11 提到了暴力破解,但请注意这不是“解码”哈希。这只是对公共输入进行哈希处理并比较两个哈希值以查看它们是否匹配,除非您有一组可能实际上与哈希匹配的公共输入,否则您不太可能得到任何结果。
哈希是故意单向的,我想不出你为什么需要,或者你可能需要重新考虑你正在做的任何项目的逻辑。
总而言之,您无法解码散列,这是故意的,这就是散列算法存在的原因。暴力破解是对常见输入进行散列,以查看它们是否与您的散列匹配。它通常用于密码破解等。使用常见的密码数据集完成。所以在你的情况下可能没有用。
http://www.md5online.org 是一个很好的暴力破解示例,它是一个包含以前暴力破解/测试过的哈希及其 unicode 输入的数据库。您可以尝试对“密码”之类的基本单词进行哈希处理并将其放入其中,如果它是已知哈希值,它应该会显示原始的 unicode 输入!
这里有 2 个内容丰富的优秀视频,涵盖了哈希算法和暴力破解哈希: https://www.youtube.com/watch?v=b4b8ktEV4Bg https://www.youtube.com/watch?v=7U-RbOKanYs
【讨论】:
哈希的重点是为任意输入呈现一个固定长度的输出,其属性是相同的输入导致相同的输出。像 MD5 或 SHA-1 这样的加密哈希函数甚至被设计成不能轻易反转。因此,不,你不能那样做。
另外,作为一个思考练习,它表明在一般情况下它无法工作:MD5 是 128 位长,那么你怎么可能恢复比这更大的输入呢?有无数个字符串会变成相同的摘要,因此虽然您可以找到具有相同哈希的 a 字符串,但不能保证找到您开始使用的那个。
【讨论】:
m5d 是一种散列算法,本质上是单向的。
你只是无法“解码”它。
你唯一的选择是暴力破解。
【讨论】: