本文给出几种获取文件MD5 (CheckSum)的方法。
在一些场景中,比如文件传输(如插件、固件升级包等),MD5 CheckSum的作用就是用于检查文件完整性,检测文件是否被恶意篡改。
Apache网站上,我们下载文件的时候,都可以看到MD5 checksum的值,如下图所示:

接下来,我们就给出几种文件产生MD5 (checkSum)的方法。

其中,下面的这段代码,

可以使用javax.xml.bind.DatatypeConverter的方法来做。

因为,DatatypeConverter.printHexBinary(digestBytes)返回的字符大写,
所以添加了toLowerCase()方法保持其一致性。
使用commons-codec来完成,Maven工程需要添加依赖包,如:

Java代码如下:

添加Guava依赖包,如:

Java代码如下:

上述几种方法,完整的示例和测试代码如下~


测试代码如下:

代码运行如下:

和Apache页面上下载文件poi-bin-3.16-20170419.zip的MD5 checkSum相比较,我们发现是一致的~
