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