哈希有什么意义?

哈希有什么意义?

我正在查看我公司的哈希实现,我发现 root 用户的密码以 base64 编码存储。如何阻止任何人简单地复制密码并对其执行 base64 -d 操作?或者有人对任何其他 Base64 密码执行相同的操作?

我在这里错过了什么吗?

答案1

哈希不是一种编码,而是一种不可逆的数学变换。您无法采用哈希值并反转计算来找到原始值:您只能尝试通过尝试密码并对它们进行哈希处理以查看哈希值是否匹配来尝试暴力破解哈希值。

密码通常存储为经过 Base64 编码、加盐的密码哈希值。哈希部分使密码无法恢复(盐部分意味着预先生成的哈希列表毫无用处)。理想情况下,哈希本身使用冗长的计算,因此暴力破解的成本更高(我们不关心名义情况下哈希的成本,因为您只需要运行一个哈希来确定用户提供的密码是否有效)。

有关更多信息,请参阅如何安全地散列密码?

相关内容