encryption - 多部分密码盐 - 常见做法
问题描述
存储散列密码时,盐通常与它一起保存。这通常不是一个安全问题,因为据我了解,盐只是为了防止彩虹查找表而设计的,并且每个密码都有一个唯一的盐,每个密码都需要通过蛮力单独破解。
为什么“盐”的第二个静态部分共享所有从未持久保存到数据库的密码的第二个静态部分不是常见的做法。这将确保仅破坏数据库不足以通过暴力破解密码,因为黑客还需要知道密码盐的这个次要静态部分?
解决方案
盐只是通过蛮力单独设计的。
为什么在所有人共享的“盐”中有第二个静态部分不是常见的做法
我会说-因为“简单”的盐可以实现其目的。一个简单的盐就足以迫使对手分别破解每个密码。
理论上 - 使用任何身份验证框架都不会阻止您添加另一个 salt 参数(我看到它使用过,但不经常使用)。所以确实你可以这样做,但是另一种“系统”盐会有另一个目的。
在我看来 - 添加另一个“系统”盐将有助于仅在数据库受到损害的情况下(例如备份被泄露,..)。通常损害数据库会损害整个系统,包括机密或附加配置
推荐阅读
- html - noscript标签内的iframe
- mysql - Sequelize 中不可用的字符串运算符
- javascript - [Vue 警告]:未知的自定义元素:
- video - iOS Safari 浏览器仅从画布上的视频中捕获初始帧并复制所有捕获的图像
- java - 处理 REST API 的输入过滤器中的错误情况
- java - Java 泛型可分配性
- linux - 将数组从 .env 传递到 docker-compose.yml 到 Dockerfile 到 bash 脚本
- python - 如何在python中从xml文件中读取数据
- unity3d - 动画在动画师中工作但在游戏中不工作
- php - HTML5 Video API 不显示视频但产生声音