我应该将我的盐与我的哈希密码一起存储在数据库中吗?

How*_*Gee 1 php security hash md5 salt

我一直在阅读一些关于安全性的内容,我现在才开始尝试使用代码.我想用盐加MD5加密.我用随机盐跑了这个漂亮的PHP脚本:

substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',5)),0,10);
Run Code Online (Sandbox Code Playgroud)

它随机生成一些字符作为盐,但后来我想:我将如何检查登录?我是否要删除盐,还是应该将其存储在数据库中?

Jar*_* Ng 6

您不应该使用MD5进行密码散列.请参阅如何安全地存储用户的密码?

要回答您的原始问题,盐与HASHED密码一起存储在数据库中.如果发现散列密码,则盐并不是秘密.其目的是防止攻击者使用彩虹表.