Class Hashids

java.lang.Object
org.aoju.bus.core.codec.Hashids
All Implemented Interfaces:
Decoder<String,long[]>, Encoder<long[],String>

public class Hashids extends Object implements Encoder<long[],String>, Decoder<String,long[]>
Hashids 协议实现,以实现:
  • 生成简短、唯一、大小写敏感并无序的hash值
  • 自然数字的Hash值
  • 可以设置不同的盐,具有保密性
  • 可配置的hash长度
  • 递增的输入产生的输出无法预测

来自:https://github.com/davidafsilva/java-hashids

Hashids可以将数字或者16进制字符串转为短且唯一不连续的字符串,采用双向编码实现,比如,它可以将347之类的数字转换为yr8之类的字符串,也可以将yr8之类的字符串重新解码为347之类的数字。
此编码算法主要是解决爬虫类应用对连续ID爬取问题,将有序的ID转换为无序的Hashids,而且一一对应。

Since:
Java 17+
Author:
Kimi Liu