大家好,Java 实现文件完整性验证:支持MD5、SHA1、SHA256、SHA224、SHA384、SHA512算法相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于Java 实现文件完整性验证:支持MD5、SHA1、SHA256、SHA224、SHA384、SHA512算法和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
由于项目中需要使用文件进行备份,因此必须提供备份文件的下载功能。备份文件很大。为确保下载的文件与原始文件一致,需要进行文件完整性验证。
网上有很多这样的文章,其中很多都使用
org.apache.commons.codec.digest.DigestUtils
包里的方法,不过我也做了大文件的分割以及获取相应校验码的转换。
DigestUtils包已经提供了生成文件流验证码的功能,可以直接调用。经测试,10G以上的文件可以在30秒内计算出来。
(网上提供了一些自己分割大文件的例子,文件小时结果正确,但文件较大时结果不太可靠)
实施步骤如下:
pom.xml添加依赖
公共编解码器公共编解码器1.12
实现类:
包file.integrity.check;导入org.apache.commons.codec.digest.DigestUtils;导入java.io.File;导入java.io.FileInputStream;publicclass 应用程序{
publicstaticvoidmain(String[] args)抛出异常{
文件file=newFile("/路径/文件名");
FileInputStream fileInputStream=new FileInputStream(文件);
字符串十六进制=DigestUtils.sha512Hex(fileInputStream);
System.out.println(十六进制);
}
}
或者:
导入org.apache.commons.codec.digest.DigestUtils;importstatic org.apache.commons.codec.digest.MessageDigestAlgorithms.SHA_512;导入java.io.File;publicclass 应用程序{
publicstaticvoidmain(String[] args)抛出异常{
文件file=newFile("/路径/文件名");
字符串十六进制=new DigestUtils(SHA_512).digestAsHex(file);
System.out.println(十六进制);
}
好了,文章到此结束,希望可以帮助到大家。
【Java 实现文件完整性验证:支持MD5、SHA1、SHA256、SHA224、SHA384、SHA512算法】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
终于有个专门讲文件完整性校验的文件了!
有5位网友表示赞同!
MD5, SHA 家族,各个算法都要用上,这篇文章讲的挺全面的。
有10位网友表示赞同!
平时用的SHA-1还好,这次看到这么多算法,感觉好复杂喔,我要好好学习一下。
有10位网友表示赞同!
文件的完整性校验很重要啊,尤其是上传文件的时候,防止数据被篡改。
有7位网友表示赞同!
Java自带了很多工具可以实现这些算法的校验?
有15位网友表示赞同!
我之前不知道SHA-224和SHA-384 SHA512有什么区别,这篇文章解释得真清楚!
有6位网友表示赞同!
最近一直在学习加密技术,这篇博客正好对我的学习很有帮助。
有5位网友表示赞同!
Java代码实现文件校验挺麻烦的吧?有没有什么好用的开源库?
有15位网友表示赞同!
感觉这种校验方法可以应用在很多场景中,比如软件包的验证、重要文档的保护等等。
有18位网友表示赞同!
文章介绍得很详细,我也要试试使用一下这些算法进行文件的校验。
有16位网友表示赞同!
MD5确实比较常用,但是安全性不太高吗? SHA-2系列更安全?
有8位网友表示赞同!
看了这篇文章,我需要去好好更新一下自己JAVA知识库了!
有9位网友表示赞同!
这种详细的介绍简直是宝藏啊!以后遇到类似问题就来参考这篇帖子。
有16位网友表示赞同!
文件完整性校验在现在这个网络时代非常重要,感谢分享!
有6位网友表示赞同!
希望这篇文章能帮助到更多的人了解文件完整性校验的技术。
有17位网友表示赞同!
学习啦学习!要对这些算法都搞清楚
有11位网友表示赞同!
Java语言这么强大,难怪这么多人喜欢它!
有17位网友表示赞同!
我之前就遇到过文件被篡改的情况,好惨!现在我知道怎么预防了。
有10位网友表示赞同!
加密技术真是越来越复杂了! 我需要好好学习一下新的知识!
有19位网友表示赞同!