Class HashKit

java.lang.Object
org.aoju.bus.core.toolkit.HashKit

public class HashKit extends Object
Hash算法大全 推荐使用FNV1算法
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • HashKit

      public HashKit()
  • Method Details

    • additiveHash

      public static int additiveHash(String key, int prime)
      加法hash
      Parameters:
      key - 字符串
      prime - 一个质数
      Returns:
      hash结果
    • rotatingHash

      public static int rotatingHash(String key, int prime)
      旋转hash
      Parameters:
      key - 输入字符串
      prime - 质数
      Returns:
      hash值
    • oneByOneHash

      public static int oneByOneHash(String key)
      一次一个hash
      Parameters:
      key - 输入字符串
      Returns:
      输出hash值
    • bernstein

      public static int bernstein(String key)
      Bernstein's hash
      Parameters:
      key - 输入字节数组
      Returns:
      结果hash
    • universal

      public static int universal(char[] key, int mask, int[] tab)
      Universal Hashing
      Parameters:
      key - 字节数组
      mask - 掩码
      tab - tab
      Returns:
      hash值
    • zobrist

      public static int zobrist(char[] key, int mask, int[][] tab)
      Zobrist Hashing
      Parameters:
      key - 字节数组
      mask - 掩码
      tab - tab
      Returns:
      hash值
    • fnvHash

      public static int fnvHash(byte[] data)
      改进的32位FNV算法1
      Parameters:
      data - 数组
      Returns:
      hash结果
    • fnvHash

      public static int fnvHash(String data)
      改进的32位FNV算法1
      Parameters:
      data - 字符串
      Returns:
      hash结果
    • intHash

      public static int intHash(int key)
      Thomas Wang的算法,整数hash
      Parameters:
      key - 整数
      Returns:
      hash值
    • rsHash

      public static int rsHash(String text)
      RS算法hash
      Parameters:
      text - 字符串
      Returns:
      hash值
    • jsHash

      public static int jsHash(String text)
      JS算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • pjwHash

      public static int pjwHash(String text)
      PJW算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • elfHash

      public static int elfHash(String text)
      ELF算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • bkdrHash

      public static int bkdrHash(String text)
      BKDR算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • sdbmHash

      public static int sdbmHash(String text)
      SDBM算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • djbHash

      public static int djbHash(String text)
      DJB算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • dekHash

      public static int dekHash(String text)
      DEK算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • apHash

      public static int apHash(String text)
      AP算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • tianlHash

      public static long tianlHash(String text)
      TianL Hash算法
      Parameters:
      text - 字符串
      Returns:
      Hash值
    • javaDefaultHash

      public static int javaDefaultHash(String text)
      JAVA自己带的算法
      Parameters:
      text - 字符串
      Returns:
      hash值
    • mixHash

      public static long mixHash(String text)
      混合hash算法,输出64位的值
      Parameters:
      text - 字符串
      Returns:
      hash值
    • hfHash

      public static long hfHash(String data)
      HF Hash算法
      Parameters:
      data - 字符串
      Returns:
      hash结果
    • hfIpHash

      public static long hfIpHash(String data)
      HFIP Hash算法
      Parameters:
      data - 字符串
      Returns:
      hash结果