Class ChecksumUtil

java.lang.Object
io.r2mo.io.local.transfer.ChecksumUtil

public class ChecksumUtil extends Object
哈希校验和计算工具类 支持多种哈希算法计算
Author:
lang : 2025-09-23
  • Constructor Details

    • ChecksumUtil

      public ChecksumUtil()
  • Method Details

    • calculateChecksum

      public static String calculateChecksum(io.r2mo.typed.common.Binary chunkData)
      计算二进制数据的哈希校验和(默认使用SHA-256算法)
      Parameters:
      chunkData - 二进制数据
      Returns:
      十六进制格式的哈希值,计算失败时返回空字符串
    • calculateChecksum

      public static String calculateChecksum(io.r2mo.typed.common.Binary chunkData, ChecksumUtil.HashAlgorithm algorithm)
      计算二进制数据的哈希校验和
      Parameters:
      chunkData - 二进制数据
      algorithm - 哈希算法
      Returns:
      十六进制格式的哈希值,计算失败时返回空字符串
    • calculateChecksum

      public static String calculateChecksum(byte[] data, ChecksumUtil.HashAlgorithm algorithm)
      计算字节数组的哈希校验和
      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

      public static String[] getSupportedAlgorithms()
      获取所有支持的哈希算法名称
    • isAlgorithmSupported

      public static boolean isAlgorithmSupported(String algorithmName)
      检查是否支持指定的哈希算法