Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要获取文件的 md5 校验和。但我的磁盘上没有文件,我无法将其保存到磁盘。我只有一个流(套接字),我可以从中读取文件。
在这种情况下如何计算 MD5 校验和并使其与我为磁盘上的文件计算它相同?
我可以读取任何大小的流块。是否有可能为这种情况获得正确的 MD5?
我需要一些从块总和中制作 md5sum 的指令并获得与
md5sum filetohash.txt
我用 Perl 编码。
在计算校验和之前,无需将数据收集到完整的文件中。您可以将数据分段添加到Digest::MD5对象中,如下所示
Digest::MD5
my $md5 = Digest::MD5->new; while ( my $chunk = read_stream() ) { $md5->add($chunk); } print $md5->hexdigest, "\n";