Class Sha2Hash

java.lang.Object
cloud.opencode.base.crypto.hash.Sha2Hash
All Implemented Interfaces:
HashFunction

public final class Sha2Hash extends Object implements HashFunction
SHA-2 family hash function implementation - Secure Hash Algorithm 2 (SHA-224, SHA-256, SHA-384, SHA-512) SHA-2 系列哈希函数实现 - 安全哈希算法 2(SHA-224、SHA-256、SHA-384、SHA-512)

Features | 主要功能:

  • SHA-224, SHA-256, SHA-384, SHA-512 algorithms - SHA-224、SHA-256、SHA-384、SHA-512 算法
  • Hex and Base64 output encoding - 十六进制和 Base64 输出编码

Usage Examples | 使用示例:

Sha2Hash sha256 = Sha2Hash.sha256();
String hex = sha256.hashHex("data");

Security | 安全性:

  • Thread-safe: Yes - 线程安全: 是
  • Null-safe: Yes - 空值安全: 是

Performance | 性能特性:

  • Time complexity: O(n) - 时间复杂度: O(n),n为数据长度
  • Space complexity: O(1) - 空间复杂度: O(1)
Since:
JDK 25, opencode-base-crypto V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Get the hash algorithm name 获取哈希算法名称
    int
    Get the digest length in bytes 获取摘要长度(字节数)
    byte[]
    hash(byte[] data)
    Compute hash of byte array 计算字节数组的哈希值
    byte[]
    hash(String data)
    Compute hash of string (UTF-8 encoded) 计算字符串的哈希值(使用 UTF-8 编码)
    hashBase64(byte[] data)
    Compute hash and return as Base64 string 计算哈希值并返回 Base64 字符串
    hashHex(byte[] data)
    Compute hash and return as hexadecimal string 计算哈希值并返回十六进制字符串
    Compute hash of string and return as hexadecimal string 计算字符串哈希值并返回十六进制字符串
    static Sha2Hash
    Create SHA-224 hash function (224-bit digest) 创建 SHA-224 哈希函数(224 位摘要)
    static Sha2Hash
    Create SHA-256 hash function (256-bit digest) 创建 SHA-256 哈希函数(256 位摘要)
    static Sha2Hash
    Create SHA-384 hash function (384-bit digest) 创建 SHA-384 哈希函数(384 位摘要)
    static Sha2Hash
    Create SHA-512 hash function (512-bit digest) 创建 SHA-512 哈希函数(512 位摘要)

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • sha224

      public static Sha2Hash sha224()
      Create SHA-224 hash function (224-bit digest) 创建 SHA-224 哈希函数(224 位摘要)
      Returns:
      SHA-224 hash function instance
    • sha256

      public static Sha2Hash sha256()
      Create SHA-256 hash function (256-bit digest) 创建 SHA-256 哈希函数(256 位摘要)
      Returns:
      SHA-256 hash function instance
    • sha384

      public static Sha2Hash sha384()
      Create SHA-384 hash function (384-bit digest) 创建 SHA-384 哈希函数(384 位摘要)
      Returns:
      SHA-384 hash function instance
    • sha512

      public static Sha2Hash sha512()
      Create SHA-512 hash function (512-bit digest) 创建 SHA-512 哈希函数(512 位摘要)
      Returns:
      SHA-512 hash function instance
    • hash

      public byte[] hash(byte[] data)
      Description copied from interface: HashFunction
      Compute hash of byte array 计算字节数组的哈希值
      Specified by:
      hash in interface HashFunction
      Parameters:
      data - input data to hash
      Returns:
      hash digest as byte array
    • hash

      public byte[] hash(String data)
      Description copied from interface: HashFunction
      Compute hash of string (UTF-8 encoded) 计算字符串的哈希值(使用 UTF-8 编码)
      Specified by:
      hash in interface HashFunction
      Parameters:
      data - input string to hash
      Returns:
      hash digest as byte array
    • hashHex

      public String hashHex(byte[] data)
      Description copied from interface: HashFunction
      Compute hash and return as hexadecimal string 计算哈希值并返回十六进制字符串
      Specified by:
      hashHex in interface HashFunction
      Parameters:
      data - input data to hash
      Returns:
      hash digest as lowercase hex string
    • hashHex

      public String hashHex(String data)
      Description copied from interface: HashFunction
      Compute hash of string and return as hexadecimal string 计算字符串哈希值并返回十六进制字符串
      Specified by:
      hashHex in interface HashFunction
      Parameters:
      data - input string to hash
      Returns:
      hash digest as lowercase hex string
    • hashBase64

      public String hashBase64(byte[] data)
      Description copied from interface: HashFunction
      Compute hash and return as Base64 string 计算哈希值并返回 Base64 字符串
      Specified by:
      hashBase64 in interface HashFunction
      Parameters:
      data - input data to hash
      Returns:
      hash digest as Base64 string
    • getDigestLength

      public int getDigestLength()
      Description copied from interface: HashFunction
      Get the digest length in bytes 获取摘要长度(字节数)
      Specified by:
      getDigestLength in interface HashFunction
      Returns:
      digest length in bytes
    • getAlgorithm

      public String getAlgorithm()
      Description copied from interface: HashFunction
      Get the hash algorithm name 获取哈希算法名称
      Specified by:
      getAlgorithm in interface HashFunction
      Returns:
      algorithm name