我正在寻找一种强大的单向散列函数,它加密(真正)弱密码(10^9 组合)。crypt 函数还必须满足一些要求:
来自相同明文的相同哈希值。所以 scrypt/bcrypt 和公钥/私钥方法是不可能的(或者我在这里可能错了吗?)。
没有像 AES 中那样的共享密钥。因为不同的客户端必须创建相同的哈希值。
无盐
那么有什么办法可以增加对这么小的字符空间进行暴力破解的难度呢?我已经尝试过使用多轮 SHA256 进行密钥拉伸,但我不是需要多少轮才能显着增加计算时间(我猜必须是数十亿)。到目前为止,我唯一想到的是使用添加到密码中的服务器端密码。但是如果发生腐败,很难保证这个秘密仍然是一个秘密......我很乐意提供一些提示或想法!问候, r0cks