Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用了这个流行的库Hashids。
正如这张海报所提到的,Hashes produced by these algorithms are designed to be 'one-way'。那么,为什么哈希值可以被解码呢?
Hashes produced by these algorithms are designed to be 'one-way'
我已经阅读了文档(并搜索了问题),但不明白为什么这个库创建的哈希可以被解码。
我正要在 git repo 中问这个问题,但这是一个问题而不是问题。
任何见解将不胜感激。
您可以在项目站点上的文档中找到原因:
它是如何工作的? Hashids 的工作方式类似于将整数转换为十六进制的方式,但有一些例外: 默认情况下,字母表不是 base16,而是 base62。 字母表也根据盐洗牌。
因此,简而言之,这根本不是哈希,而只是一种替代编码,更类似于简单的替换密码而不是哈希(可以用作压缩函数)。当然,这是非常容易可逆的。