PHP-发送用于哈希的密码
我的数据库为每个用户存储唯一的盐 我正在用php为一个应用程序创建一个登录脚本,其中每个用户都有自己独特的salt,下面是我计划如何实现登录PHP-发送用于哈希的密码,php,send,salt,Php,Send,Salt,我的数据库为每个用户存储唯一的盐 我正在用php为一个应用程序创建一个登录脚本,其中每个用户都有自己独特的salt,下面是我计划如何实现登录 用户输入详细信息并发送它们 发送用户名并检查脚本是否存在 如果返回,则返回该用户的salt,否则返回一般错误 我需要脚本为该用户返回salt,否则,当我的应用程序无法对没有salt的密码进行哈希运算并将其发送回时,它将如何验证提交的密码是否正确? 现在我不确定的是。salt是否加密有关系吗?因为黑客可以看到它是什么,看到密码散列,也许可以用它做点什么。我应
请提供建议。如果你的密码是散列的或是作为普通字符串留下的,这并不重要,重要的一点是,对密码进行散列可以防止直接使用字典/彩虹表攻击来暴力破解密码。另一个优点是每个用户都有一个不同的哈希密码 SALT是在服务器端创建的随机生成的字符串,不涉及到浏览器之间的任何类型的传输 在您的服务器上:
// Password from form
$pw = $_GET['password'];
// Generate salt using unique values
$salt = (rand(8).$registration_date.$username);
// Password to be hashed
$pwthb = ($pw.$salt);
如果一个黑客获得了对你数据库的访问权,那么在大多数情况下,你的游戏就结束了,因为你需要存储最初的随机salt来对其进行散列以供比较
一个简单的例子:
bcrypt
或大幅拉伸散列,以便创建存储的散列,计算时间至少为1-2秒)。“产生进入数据库的散列密码所需的时间越长,即使已知密码中的盐,也要用更长的时间来尝试并强制使用实际密码。”jon Point注意到,只是尽量保持简单。