昨儿个碰到个问题,就是有一个接口需要用到一个文件的MD5,而一般使用MD5加密都是对字符串加密,几乎没对文件类型加过密,所以昨儿个处理了这个问题,顺便记录下。
1、将文件转化为MD5之前首先要明白字符串转MD5是什么原理
字符串转MD5是通过先将字符串转化为byte[]类型的数据,然后再通过MD5工具生成加密后的字符串。
2、文件MD5加密也是先转换类型再通过工具加密
下面是具体的代码实现:
/**
* 将文件进行MD5加密
* @param file
* @return
*/
public static final String getFileMD5String(File file) {
String md5Result = StringUtil.EMPTY_STRING;
try {
InputStream fis = new FileInputStream(file);
byte[] buffer = new byte[fis.available()];
while (fis.read(buffer) > 0) {
md5Result = DigestUtils.md5Hex(buffer);
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
return md5Result;
}