首页 > 解决方案 > 多部分密码盐 - 常见做法

问题描述

存储散列密码时,盐通常与它一起保存。这通常不是一个安全问题,因为据我了解,盐只是为了防止彩虹查找表而设计的,并且每个密码都有一个唯一的盐,每个密码都需要通过蛮力单独破解。

为什么“盐”的第二个静态部分共享所有从未持久保存到数据库的密码的第二个静态部分不是常见的做法。这将确保仅破坏数据库不足以通过暴力破解密码,因为黑客还需要知道密码盐的这个次要静态部分?

标签: encryptioncryptographypasswords

解决方案


盐只是通过蛮力单独设计的。
为什么在所有人共享的“盐”中有第二个静态部分不是常见的做法

我会说-因为“简单”的盐可以实现其目的。一个简单的盐就足以迫使对手分别破解每个密码。

理论上 - 使用任何身份验证框架都不会阻止您添加另一个 salt 参数(我看到它使用过,但不经常使用)。所以确实你可以这样做,但是另一种“系统”盐会有另一个目的。

在我看来 - 添加另一个“系统”盐将有助于仅在数据库受到损害的情况下(例如备份被泄露,..)。通常损害数据库会损害整个系统,包括机密或附加配置


推荐阅读