校验和和MD5,不是一回事吗?

9

我下载了一个文件,并使用md5sum命令检查下载是否成功且无损坏。我得到了以下值:

 a7099fcf9572d91b10d0073b07e112cb  ./Macaca_mulatta.MMUL_1.70.dna.chromosome.1.fa.gz

但当我检查了我从网站下载文件的时候,它给出了以下的值。
10256 63747 Macaca_mulatta.MMUL_1.70.dna.chromosome.1.fa.gz

这个10位数的代码是什么?不是md5吗?
我从以下链接下载了该文件:ftp://ftp.ensembl.org/pub/release-70/fasta/macaca_mulatta/dna/CHECKSUMS
3个回答

11

Ensembl使用Unix的'sum'工具计算CHECKSUM.gz文件。

以下是该程序的更多信息:http://en.wikipedia.org/wiki/Sum_%28Unix%29

要确认下载是否正确,请尝试:

sum Macaca_mulatta.MMUL_1.70.dna.chromosome.1.fa.gz

注意:以前发生过Ensembl未更新其CHECKSUM文件的情况,因此下载可能是正确的,但CHECKSUM.gz文件是不正确的。


7

它们不是同一件事。MD5是一种校验和算法,但还有其他的校验和算法,如SHA、CRC等。

通常,校验和是一个函数,它接受一个比其输出大得多的输入,并(最好)即使输入中的一个位发生变化,也会产生非常不同的输出。

你看到的输出由两个5位十进制数字组成,因此你的校验和算法很可能是CRC32。Unix的sum命令可以用于计算/验证。


1

MD5是一种用于进行校验和的方法,但还有其他方法。CRC和SHA也可以。MD5所做的只是生成一个哈希码,而它并不是唯一的算法。我不确定那个10位数是什么,但它不可能是MD5。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接