Python SHA1 解码函数
我找不到怎么解码用sha1编码的字符串。我很惊讶在Python的文档或者谷歌上找不到简单的函数来做sha1解码。我放弃了。我需要帮助……
1 个回答
18
SHA1是一种哈希算法。哈希的特点是单向的,这意味着你无法从输出结果中恢复输入,特别是对于那些复杂的哈希函数。举个简单的例子,假设我们把一个数字的所有数字相加,这就是一种单向哈希函数。比如说,1234
的哈希结果是1 + 2 + 3 + 4 = 10
,而4321
、1900
、5050
等其他数字也会得到同样的结果10。仅仅通过哈希值10
,你无法判断输入是1234
还是5050
,因为信息已经丢失了。
这里有一个图示例:
如你所见,John Smith
和Sandra Dee
都被映射到了02
。这意味着仅凭02
,你无法知道到底是哪个名字被哈希了。
哈希的好处在于它可以将任何数量的数据映射到一个固定大小的输出,并且与上面的例子不同,找到两个输入得到相同输出的情况是极其困难的。为了SHA-1
找到仅仅一对哈希值相同的输入,耗费了超过6500年的CPU计算时间。
因此,如果hash(A) == hash(B)
,那么你可以很有信心地认为A == B
。如果你复制了一个大文件,并且原文件和复制文件的哈希值相同,那么你可以相当确定这个文件是完整的。