0

我使用了这个流行的库Hashids

正如这张海报所提到的,Hashes produced by these algorithms are designed to be 'one-way'。那么,为什么哈希值可以被解码呢?

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

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

任何见解将不胜感激。

4

1 回答 1

2

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

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

因此,简而言之,这根本不是哈希,而只是一种替代编码,更类似于简单的替换密码而不是哈希(可以用作压缩函数)。当然,这是非常容易可逆的。

于 2018-12-02T21:56:12.130 回答