Encoding 短入侵检测算法

Encoding 短入侵检测算法,encoding,base64,identifier,Encoding,Base64,Identifier,我在寻找一种算法——或者我最好说:编码要将整数压缩为短字符串ID(如URL缩写器),请使用:0puu Url safe base 64接近于此,但可能有更好的方法 要求: 尽可能短 url安全 “yi_H”称base64为“完美”,经过进一步研究,我得出了相同的结论,因为: 这是66个字符,而只使用64个字符。另外两个可能的字符不实用,因为66不是基于2 结论:(例如作为Apache Commons的一部分提供)非常适合短ID。“yi_H”称为base64“perfect”,经过进一步研究,我

我在寻找一种算法——或者我最好说:编码要将整数压缩为短字符串ID(如URL缩写器),请使用:0puu

Url safe base 64接近于此,但可能有更好的方法

要求:

  • 尽可能短
  • url安全
“yi_H”称base64为“完美”,经过进一步研究,我得出了相同的结论,因为:

这是66个字符,而只使用64个字符。另外两个可能的字符不实用,因为66不是基于2

结论:(例如作为Apache Commons的一部分提供)非常适合短ID。

“yi_H”称为base64“perfect”,经过进一步研究,我得出了相同的结论,因为:

这是66个字符,而只使用64个字符。另外两个可能的字符不实用,因为66不是基于2


结论:(例如作为Apache Commons的一部分提供)非常适合短ID。

接近了吗?它很完美…Base64本身不是“URL安全的”。@Cipi因此添加了“URL安全的”。如果您的整数很大,并且需要固定长度的字符串(较小),并且不关心在某些非常罕见的情况下id是否会发生冲突,您可以执行
裁剪(Base64(crc32(x))
来“关闭”?它很完美…Base64本身不是“URL安全的”。@Cipi因此添加了“URL安全的”。如果您的整数很大,并且需要固定长度的字符串(较小),并且不关心在某些非常罕见的情况下id是否会发生冲突,您可以执行
裁剪(Base64(crc32(x))
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~