Java文件完整性校验MD5sha1sha256sha224sha384sha512

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java⽂件完整性校验MD5sha1sha256sha224sha384sha512
由于项⽬中需要使⽤⽂件做备份,并且要提供备份⽂件的下载功能。

备份⽂件体积较⼤,为确保下载后的⽂件与原⽂件⼀致,需要提供⽂件完整性校验。

⽹上有这么多此类⽂章,其中不少使⽤到了
mons.codec.digest.DigestUtils
包中的⽅法,但是⼜⾃⼰做了⼤⽂件的拆分及获取相应校验码的转换。

DigestUtils 包已经提供了为⽂件流⽣成校验码的功能,可以直接调⽤。

经测试10⼏G的⽂件在30秒内可完成计算。

(⽹上提供的⼀些⾃⼰拆分⼤⽂件的⽰例,⽂件较⼩时结果正确,⽂件较⼤时结果就不太可靠了)
实现步骤如下:
1. pom.xml 添加依赖
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
2. 实现类:
package file.integrity.check;
import mons.codec.digest.DigestUtils;
import java.io.File;
import java.io.FileInputStream;
public class Application {
public static void main(String[] args) throws Exception {
File file = new File("/path/filename");
FileInputStream fileInputStream = new FileInputStream(file);
String hex = DigestUtils.sha512Hex(fileInputStream);
System.out.println(hex);
}
}
3. 或者:
import mons.codec.digest.DigestUtils;
import static mons.codec.digest.MessageDigestAlgorithms.SHA_512;
import java.io.File;
public class Application {
public static void main(String[] args) throws Exception {
File file = new File("/path/filename");
String hex = new DigestUtils(SHA_512).digestAsHex(file);
System.out.println(hex);
}
}。

相关文档
最新文档