sha1/sha256/md5/crc32这几种算法都是目前比较常用的摘要算法,在我们实际开发中,经常会需要使用,我们该如何选择呢,哪个算法的速度更快呢?
我们选择了一个差不多1G大小的system.img来分别计算下这四种不同的摘要信息,我们写了一个脚本来计算,更方便我们查看对比结果:
date -u +%r
sha256sum system.img
date -u +%r
sha1sum system.img
date -u +%r
md5sum system.img
date -u +%r
cksum system.img
date -u +%r
我们执行下这个脚本,打印如下:
我们计算下时间:
sha256: 5s 64字符
sha1: 3s 40字节
md5: 2s 32字节
crc32: 3s 10字节
从时间上来看: md5 < sha1 = crc32 < sha256
从摘要长度看: crc32 < md5 < sha1 < sha256