由于项目中需要使用文件做备份,并且要提供备份文件的下载功能。备份文件体积较大,为确保下载后的文件与原文件一致,需要提供文件完整性校验。

网上有这么多此类文章,其中不少使用到了

org.apache.commons.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 org.apache.commons.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 org.apache.commons.codec.digest.DigestUtils;
    import static org.apache.commons.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);}
    }

Java 文件完整性校验 MD5 sha1 sha256 sha224 sha384 sha512相关推荐

  1. Java 读取文件 MD5 sha1 sha256 sha224 sha384 sha512

    在Java中读取文件的MD5或SHA码,用于对文件完整性进行校验,示例代码较为简单,如下: 一.使用到的 jar (pom.xml) <dependency><groupId> ...

  2. 使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件

    使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件 适用场景:下载文件的完整性校验等. cmd调出命令行,输入如下命令 certutil -hashfile <文件名& ...

  3. Java 文件完整性校验 sha512

    由于项目中需要使用文件做备份,并且要提供备份文件的下载功能.备份文件体积较大,为确保下载后的文件与原文件一致,需要提供文件完整性校验. 网上有这么多此类文章,其中不少使用到了 org.apache.c ...

  4. Java文件完整性校验SHA256

    前言 ❤Java学习路线个人总结-博客 ❤欢迎点赞

  5. 快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)

    从网络上下载文件,尤其是非常大的文件怎么确保文件准确无误呢? 通常网站提供文件时会同时提供该文件的校验值,如MD5,SHA1,SHA256等, 当文件下载完成后,计算它的校验值,如果和网站提供的一致, ...

  6. Windows系统中通过命令查看文件的MD5,SHA1,SHA256校验值

    Windows系统中通过命令查看文件的MD5,SHA1,SHA256校验值 命令格式如下: certutil -hashfile yourfilename MD5 certutil -hashfile ...

  7. android sha1校验工具,【原创实用】文件校验工具V1.2.1:支持MD5 SHA1 SHA256

    前言:这个程序其实我很早以前(大概上上周?)就已经完成了 但是没有发布,因为我还想不断打磨打磨. 先别走,结尾还有彩蛋 现如今相较第一个版本,已经进行如下改动: 解决clear之后后台线程依然未停止的 ...

  8. Hash校验工具、MD5 SHA1 SHA256命令行工具

    MyHash 检验工具http://www.zdfans.com/html/4346.html HashMyFiles Hash校验工具http://www.nirsoft.net/utils/has ...

  9. 使用Windows自带的工具计算文件的 MD5 SHA1 SHA256

    使用Windows自带的工具计算文件的 MD5 SHA1 SHA256 很多网站会提供下载文件的校验码信息,在下载文件之后,如何方便地计算MD5 SHA1 SHA256等校验和呢?之前我常用的工具是H ...

最新文章

  1. linux中ftp用户,linux中怎么添加ftp用户
  2. 从源码分析DEARGUI之add_selectable
  3. 【PHP7源码分析】PHP7到底有多快,基准测试与特性分析告诉你
  4. MySQL Infobright 数据仓库快速安装笔记[转]
  5. 主动找智能钥匙 PKE取代RKE是大势所趋
  6. 船舶和计算机结合论文格式,近海船舶监控系统中航迹关联算法的计算机研究与实现...
  7. 如何保持安全在线的五大技巧
  8. 【Python3爬虫】大众点评爬虫(搞定CSS反爬)
  9. 内置指令-cloak // 内置指令-once // 内置指令-pre
  10. 【HTML5】在canvas上绘制简单的2D图形 (+太极图)
  11. es聚合查询与多维度数据统计
  12. ddos攻击数据集_ddos攻击和cc攻击有什么区别?他们2个哪个更厉害?
  13. 拓扑容差如何修改_如何做到全屋WIFI无死角,MESH组网对比有哪些优势?
  14. delphi 多个线程 多个进度条_Python 进阶知识全篇-多线程
  15. webgl天空盒边界缝隙_WebGL three.js进修笔记 法向量网格材质MeshNormalMaterial的引见和建立360度全景天空盒的要领...
  16. [看过不再忘]详细解析chmod修改文件权限
  17. 计算机设备问题代码43,win10系统提示由于该设备有问题windows已将其停止(代码43)的修复方案...
  18. cefsharp设置cookie_CefSharp 设置cookie
  19. MAC前端开发环境搭建
  20. Linux搭建Postfix邮件服务器

热门文章

  1. 维护采购订单审批的特性Characteristic和类Class
  2. 笔记本电脑触控板操作小结
  3. CPU 缓存如何影响你的 Go 程序性能
  4. <caption>表格标题标签
  5. 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组C题卡牌
  6. 一文读懂遗传算法工作原理(附Python实现)
  7. 背景颜色渐变(shape属性)
  8. GBK-unicode对照
  9. 机器学习必知的八大神经网络架构
  10. 视频教程-jQuery交互式前端开发(第一季):初体验/选择器/事件绑定-jQuery