Package io.r2mo.io.local.transfer
Class ChecksumUtil
java.lang.Object
io.r2mo.io.local.transfer.ChecksumUtil
哈希校验和计算工具类
支持多种哈希算法计算
- Author:
- lang : 2025-09-23
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringcalculateChecksum(byte[] data, ChecksumUtil.HashAlgorithm algorithm) 计算字节数组的哈希校验和static StringcalculateChecksum(io.r2mo.typed.common.Binary chunkData) 计算二进制数据的哈希校验和(默认使用SHA-256算法)static StringcalculateChecksum(io.r2mo.typed.common.Binary chunkData, ChecksumUtil.HashAlgorithm algorithm) 计算二进制数据的哈希校验和static StringcalculateChecksum(InputStream inputStream, ChecksumUtil.HashAlgorithm algorithm) 计算输入流的哈希校验和(适用于大文件)static String[]获取所有支持的哈希算法名称static booleanisAlgorithmSupported(String algorithmName) 检查是否支持指定的哈希算法static booleanverifyChecksum(byte[] data, String expectedHash, ChecksumUtil.HashAlgorithm algorithm) 验证字节数组的哈希校验和是否匹配static booleanverifyChecksum(io.r2mo.typed.common.Binary chunkData, String expectedHash, ChecksumUtil.HashAlgorithm algorithm) 验证数据的哈希校验和是否匹配static booleanverifyChecksum(InputStream inputStream, String expectedHash, ChecksumUtil.HashAlgorithm algorithm) 验证输入流的哈希校验和是否匹配
-
Constructor Details
-
ChecksumUtil
public ChecksumUtil()
-
-
Method Details
-
calculateChecksum
计算二进制数据的哈希校验和(默认使用SHA-256算法)- Parameters:
chunkData- 二进制数据- Returns:
- 十六进制格式的哈希值,计算失败时返回空字符串
-
calculateChecksum
public static String calculateChecksum(io.r2mo.typed.common.Binary chunkData, ChecksumUtil.HashAlgorithm algorithm) 计算二进制数据的哈希校验和- Parameters:
chunkData- 二进制数据algorithm- 哈希算法- Returns:
- 十六进制格式的哈希值,计算失败时返回空字符串
-
calculateChecksum
计算字节数组的哈希校验和- Parameters:
data- 字节数组数据algorithm- 哈希算法- Returns:
- 十六进制格式的哈希值,计算失败时返回空字符串
-
calculateChecksum
public static String calculateChecksum(InputStream inputStream, ChecksumUtil.HashAlgorithm algorithm) 计算输入流的哈希校验和(适用于大文件)- Parameters:
inputStream- 输入流algorithm- 哈希算法- Returns:
- 十六进制格式的哈希值,计算失败时返回空字符串
-
verifyChecksum
public static boolean verifyChecksum(io.r2mo.typed.common.Binary chunkData, String expectedHash, ChecksumUtil.HashAlgorithm algorithm) 验证数据的哈希校验和是否匹配- Parameters:
chunkData- 二进制数据expectedHash- 期望的哈希值(十六进制格式)algorithm- 哈希算法- Returns:
- 如果哈希值匹配返回true,否则返回false
-
verifyChecksum
public static boolean verifyChecksum(byte[] data, String expectedHash, ChecksumUtil.HashAlgorithm algorithm) 验证字节数组的哈希校验和是否匹配- Parameters:
data- 字节数组数据expectedHash- 期望的哈希值(十六进制格式)algorithm- 哈希算法- Returns:
- 如果哈希值匹配返回true,否则返回false
-
verifyChecksum
public static boolean verifyChecksum(InputStream inputStream, String expectedHash, ChecksumUtil.HashAlgorithm algorithm) 验证输入流的哈希校验和是否匹配- Parameters:
inputStream- 输入流expectedHash- 期望的哈希值(十六进制格式)algorithm- 哈希算法- Returns:
- 如果哈希值匹配返回true,否则返回false
-
getSupportedAlgorithms
获取所有支持的哈希算法名称 -
isAlgorithmSupported
检查是否支持指定的哈希算法
-