是否有一个库可以生成一个字符串,该字符串将哈希(SHA1)传递给给定的输入?

use*_*404 2 c++ encryption hash sha1 sha

我想知道是否有可能找到一个会散列到已知值的文本块.特别是,我正在寻找一个函数CreateDataFromHash(),可以调用如下:

unsigned char myHash[] = "da39a3ee5e6b4b0d3255bfef95601890afd80709";
unsigned int length = 10000;
CreateDataFromHash(myHash, length);
Run Code Online (Sandbox Code Playgroud)

这里CreateDataFromHash将返回包含任意数据的长度为10000的字符串,该字符串将myHash使用SHA1进行哈希处理.

谢谢.

Geo*_*sov 5

一般来说,没有已知的简单甚至是中等难度的方法.

哈希(或所谓的单向函数)的整个点是,它很容易计算它们,但几乎不可能反转它们的计算(根据输出找到输入值).也就是说,对于一些散列函数,存在可以允许在合理的时间内计算给定散列值的输入的已知方法.

例如,这种MD5和技术将在1.6GHz计算机上的大约8小时内发现冲突(但不是给定输出的输入).

特别是对于SHA-1,您可能有兴趣阅读本文.