我有一个客户端产品的基本下载系统。用户可以获得打印出来的人类可读代码(15位或以下),他们可以在线输入以下载文件。目前,所有唯一代码都存储在数据库中,但由于代码量越来越高,我想更改系统。
我想采取某种秘密盐并生成我们的下载系统可以解码的唯一哈希,并且如果哈希是有效的(并且从盐中创建)则进行比较。
我找到了两个节点包:https://github.com/sehrope/node-simple-encryptor和http://hashids.org/
使用简单的加密器,我可以为" mysecretpassphrase"生成唯一的哈希值。当用户输入此代码时,我可以解码散列并检查它是否是" mysecretpassphrase"如果是这样允许下载。然而,哈希是长的(120个字母数字符号)。
使用其他包(hashids),我得到url友好的hman可读代码,但我只能哈希整数。
任何想法如何创建高达一百万个哈希(人类可读)低于15个字母数字字母,可以再次解码?它不需要加密防弹。