1

是否可以生成一个文本文件,其内容是文件的 hash/md5 值。

如何编写程序?

4

3 回答 3

1

如果存在这样的文件,则可以通过尝试所有可能的 MD5 散列并检查其 MD5 散列是否等于它来生成它。但由于所有可能的 MD5 散列值都是有限集,因此这种特殊的 MD5 值甚至可能根本不存在。

注意:您只问是否可能,而不是需要多长时间。

于 2012-07-17T06:34:44.740 回答
0

我也很感兴趣,所以我写了下面的pascal程序:

program hash;

uses md5;

var a, b: string;

begin

b:='d41d8cd98f00b204e9800998ecf8427e'; //md5sum of /dev/null

repeat

a:=md5Print(md5String(b));
b:=md5Print(md5String(a));

until a=b;

writeln(a);
writeln(b);

end.

它已经运行了大约五天,但仍然没有结果)))

于 2020-07-01T01:06:33.503 回答
0

请注意,如果您想强行使用它,则三甲氧基的方法存在根本缺陷。每个散列有效地指向另一个随机散列,并且随着散列系列的增加,任何新访问的散列越来越有可能简单地将您指向以前访问过的散列,从而形成数百万或数十亿个散列长的循环。

如果我们假设 MD5 的整个散列空间不是单个循环循环,这是极不可能的,那么几乎所有值都处于一个竞争性较短的循环循环中,这使得绝大多数 MD5 散列未被访问。

基本上,即使存在自映射哈希,这种方法仍然更有可能简单地将自己置于无限循环中,而不是实际找到一个。

于 2021-03-05T18:09:56.730 回答