为什么Hashids可以被解码?

时间:2018-12-02 21:33:37

标签: hashids

我已经使用了这个流行的库Hashids

As this poster mentionedHashes produced by these algorithms are designed to be 'one-way'。那么,为什么可以对哈希值进行解码?

我已经阅读了文档(并搜索了问题),但看不到为什么可以解码此库创建的哈希。

我正要在git repo中问这个问题,但这是一个问题,而不是一个问题。

任何见识都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

您可以在项目站点的文档中找到原因:

  

它如何工作?
  哈希表的工作方式类似于将整数转换为十六进制的方式,但有一些例外:
      字母不是base16,而是默认为base62。
      字母表也根据盐改组。

因此,简而言之,这根本不是哈希,而仅仅是备用编码,它更类似于简单的替换密码,而不是哈希(可用作压缩函数)。当然,这几乎是可逆的。