【问题标题】:Python SHA1 DECODE functionPython SHA1 解码函数
【发布时间】:2011-11-30 04:49:36
【问题描述】:

我找不到如何解码以 sha1 编码的字符串。我很惊讶我在 python 文档或谷歌中找不到简单的函数来进行 sha1 解码。我放弃。我需要帮助..

【问题讨论】:

  • 你没有很努力。如果您的第一次搜索尝试不起作用,请尝试其他变体。例如,看看当你谷歌“python sha1”时首先出现的是什么。然后查看“已弃用”警告并阅读推荐模块的文档。我通常不会发表评论说“只是用谷歌搜索”,但既然你中途放弃了,我只是鼓励你再试一次。你可以找到它。
  • 现在我再考虑一下,我意识到你无法解码它。这些类型的东西是单向哈希。

标签: python sha1 decoding


【解决方案1】:

SHA1 是一种散列算法。散列是单向的,这意味着您无法从任何非平凡散列函数的输出中恢复输入。单向哈希函数的一个简单示例是将数字的所有数字相加。 1234 会散列到1 + 2 + 3 + 4 = 10,但432119005050 和许多其他数字也是如此。仅给定10 的哈希值,您无法判断输入是1234 还是5050,因为信息丢失了。

这是一个图形示例:

如您所见,John SmithSandra Dee 都映射到 02。这意味着您无法恢复 哪个 名称仅在给定 02 时被散列。

散列很有用,因为它将 任何 数量的数据映射到固定大小的输出,并且与上面的示例不同,非常很难找到两个输入哈希到相同的输出。 SHA-1 的find just a single pair 输入具有相同的哈希值需要超过 6,500 个 CPU 年。

因此,如果hash(A) == hash(B),那么你可以确信A == B。如果你复制一个巨大的文件,并且原始文件和副本的哈希值相同,那么你可以很确定文件是完整的。

【讨论】:

    猜你喜欢
    • 2021-01-12
    • 2013-08-28
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2011-08-08
    • 2014-09-25
    相关资源
    最近更新 更多