为什么Hashids可以被解码?
Why Hashids can be decoded?
我用过这个流行的库 Hashids。
As this poster mentioned,Hashes produced by these algorithms are designed to be 'one-way'
。那么,为什么一个hash值可以被解码呢?
我已阅读文档(并搜索了问题),但不明白为什么可以解码此库创建的哈希值。
我正要在 git 回购中问这个问题,但这是一个问题而不是问题。
任何见解将不胜感激。
您在项目站点的文档中找到原因:
How does it work?
Hashids works similarly to the way integers are converted to hex, but with a few exceptions:
The alphabet is not base16, but base base62 by default.
The alphabet is also shuffled based on salt.
所以,简而言之,这根本不是散列,而只是一种替代编码,更类似于简单的替换密码而不是散列(它可以作为压缩功能)。当然,这是非常容易逆转的。
我用过这个流行的库 Hashids。
As this poster mentioned,Hashes produced by these algorithms are designed to be 'one-way'
。那么,为什么一个hash值可以被解码呢?
我已阅读文档(并搜索了问题),但不明白为什么可以解码此库创建的哈希值。
我正要在 git 回购中问这个问题,但这是一个问题而不是问题。
任何见解将不胜感激。
您在项目站点的文档中找到原因:
How does it work?
Hashids works similarly to the way integers are converted to hex, but with a few exceptions:
The alphabet is not base16, but base base62 by default.
The alphabet is also shuffled based on salt.
所以,简而言之,这根本不是散列,而只是一种替代编码,更类似于简单的替换密码而不是散列(它可以作为压缩功能)。当然,这是非常容易逆转的。