我试图对此进行研究,但仍有一些问题没有得到解答。我正在研究如何将 8 个字符的密码变成高位加密密钥。在我的研究过程中,我发现了一些关于盐值的文章。
假设您可以使用所有 256 个字符,那么 8 个字符的密码将是 64 位长。所以,剩下的 64 位只是一个盐值。而且,如果我错了,请纠正我,但是这样做是为了如果有人要尝试尝试所有可能的值(蛮力),他们将不得不尝试所有 128 位,因为即使是盐也是未知的。
我的问题确实与这个“盐”值有关:
- 当有人提出申请时,盐值是否被硬编码到其中?如果是这样,它不能通过对可执行文件进行逆向工程来获得吗?
- 如果盐是随机生成的,那么我认为它必须有某种方法来复制它。那么,返回随机盐的那个函数不是能够被逆向工程以强制它复制自身以获得盐值吗?
- 这可能超出了范围,但是如果在服务器端(客户端/服务器关系)生成盐值,那么它是否必须与客户端共享,以便他们可以解密服务器发送的数据?而且,如果它被发送到客户端,它不能被拦截,这使它无用吗?
- 除了这个“盐”值之外,是否还有其他方法可以将 8 个字符的字符串转换为强加密密钥?