独特的短安全哈希,可以解码

我有一个客户端产品的基本下载系统。 用户可以打印出他们可以在线下载文件的可读代码(15位或更低)。 现在所有唯一代码都存储在数据库中,但是由于代码量越来越高,我想更改系统。

我想采取一些秘密的盐,并生成独特的哈希,我们的下载系统可以解码和比较,如果散列是有效的(并从盐创build)。

我发现了两个节点包: https : //github.com/sehrope/node-simple-encryptor和http://hashids.org/

使用简单的encryption器,我可以为“mysecretpassphrase”生成唯一的哈希值。 当用户input这个代码时,我可以对散列进行解码,并检查它是否是“mysecretpassphrase”,如果允许,则允许下载。 然而,哈希值是很长的(120个字母数字符号)。

与其他包(哈希)我得到url友好的人类可读代码,但我只能散列整数。

任何想法如何创build高达一百万哈希(人类可读)低于15个字母数字字母,可以再次解码? 它不需要encryption防弹。