Java 文件完整性校验 sha512
由于项目中需要使用文件做备份,并且要提供备份文件的下载功能。备份文件体积较大,为确保下载后的文件与原文件一致,需要提供文件完整性校验。
网上有这么多此类文章,其中不少使用到了
org.apache.commons.codec.digest.DigestUtils
包中的方法,但是又自己做了大文件的拆分及获取相应校验码的转换。
DigestUtils 包已经提供了为文件流生成校验码的功能,可以直接调用。经测试10几G的文件在30秒内可完成计算。
(网上提供的一些自己拆分大文件的示例,文件较小时结果正确,文件较大时结果就不太可靠了)
实现步骤如下:
- pom.xml 添加依赖
<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.12</version> </dependency>
- 实现类:
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);} }
- 或者:
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 文件完整性校验 sha512相关推荐
- Java 文件完整性校验 MD5 sha1 sha256 sha224 sha384 sha512
由于项目中需要使用文件做备份,并且要提供备份文件的下载功能.备份文件体积较大,为确保下载后的文件与原文件一致,需要提供文件完整性校验. 网上有这么多此类文章,其中不少使用到了 org.apache.c ...
- Java文件完整性校验SHA256
前言 ❤Java学习路线个人总结-博客 ❤欢迎点赞
- 文件完整性校验码计算工具
文件完整性校验码计算工具 工具介绍 支持算法:CRC32,MD2,MD4,MD5,SHA1,SHA256,SHA512,RipeMD128,RIPEMD160,ED2K 多个哈希类型可以同时生成每个文 ...
- 文件完整性校验之MD5校验
文件完整性校验之MD5校验 在现代计算机系统中,文件安全和完整性保护是至关重要的.不仅是个人用户需要保护他们的数据免受恶意软件和黑客攻击,企业和机构也需要确保其敏感数据的完整性和机密性. MD5校验是 ...
- java 文件md5校验_Java 获取 文件md5校验码
讯雷下载的核心思想是校验文件的md5值,两个文件若md5相同则为同一文件. 当得到用户下载某个文件的请求后它根据数据库中保留的文件md5比对出拥有此文件的url, 将用户请求挂接到此url上并仿造一个 ...
- ftp 文件完整性校验_FTP空间是什么?如何获取免费FTP空间吗?
FTP是File Transfer Protocol的简称,又被称为文件传输协议,是一种将数据上传和下载到Internet的方式.FTP是一套公认的且简单的协议,是传输单个文件以及多个文件的一个最有效 ...
- java 文件crc校验_JavaCRC校验原理
一.基本原理 CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列:附加在数据序列之后的这个检验码与数据序列的内容之间存在着 ...
- java 文件crc校验_Java 对文件进行 CRC32 校验
[java]代码库import java.util.zip.CheckedInputStream; import java.util.zip.CRC32; import java.io.File; i ...
- java 文件路径校验_java中File的绝对路径和相对路径的校验
1.首先看一下File中参数的集中形式 ①//构造函数File(String pathname) File f1 = new File("c:\\1.txt"); ②//File( ...
最新文章
- include_once 问题
- Microsoft Visual Studio 宏脚本添加注释模板
- python类属性的调用方法_问一个关于PYTHON类属性调用方法的问题
- SQL记录-PLSQL数组
- typora 字体颜色_Typora 使用教程
- tcpdump捕获流量,并切分多个文件保存
- STM32L之可编程电压检测(PVD)
- DM框架中CString/CStringW 转 double (c++通用)
- 基于jquery的复选树的插件
- 虚拟服务器 ssl,虚拟主机如何装ssl
- 采用install.sh安装脚本进行快速安装astercc
- 杭电oj1257最少拦截系统(贪心)
- iOS 音乐播放器demo讲解
- 39.JavaScript中Promise的基本概念、使用方法,回调地狱规避、链式编程
- Node.js学习--07--项目--注册登录
- 破解ISAPI_Rewrite3.1以及相关知识
- 微信小程序分析送积分功能如何实现_微信小程序积分商城该怎么进行操作?
- 虚拟机如何支持硬件虚拟化
- ubuntu20.04搭建janus服务器
- 重置SMC和NVRAM解决MacBookPro卡顿问题
热门文章
- 笔记本“电源已接通,未充电”的解决办法
- import theano时,系统报错无法定位程序输入点__gxx_personality_sj0 于动态链接库libstdc+±6.dll。
- AcWing 3465. 病毒朔源 (邻接表DFS 详解)
- C#获取本地磁盘目录
- 论文解读|存储集中化对多地点报童问题中预期成本的影响
- 破解VCD无法复制方法 提取加密vcd中的DAT文件的解决方案
- JavaWeb学习笔记7
- 测试面试被问“期望薪资多少”,不要傻傻直接报价,高情商都这样说
- Docker Desktop requires a newer WSL kernel version.
- JS中this关键字详解