我被认为MD5和SHA1不是处理密码的最佳做法,因此我想确保我以最安全的方式做事。
我不知道如何实现这一点,我从另一个网站获得了一个网站#34; Developer"谁用纯文本存储密码......这就是我现在纠正它的原因。
我的理解是:
用户注册X并输入所需的密码以便日后登录。
输入的详细信息将提交给数据库。提交密码并使用哈希服务器端,然后加密。
当用户下次登录时,密码将被重新散列并与现有数据库中的条目进行比较。如果密码正确,则授予访问权限。
我目前的设置是PHP,PHP My Admin管理数据库。
我:
想要哈希/盐渍密码的单独表/数据库吗? PHP中是否存在可用于散列密码的现有函数? 是否需要哈希,盐和胡椒密码?
谢谢,我是PHP的新手,并且希望确保这些信息得到安全保护"
答案 0 :(得分:2)
PHP v5.5为授权提供了内置函数。阅读:
password_hash() 和 password_verify()
使用经过验证的组件比使用自己创建的组件更好 - 尤其是授权过程。破坏授权是主要漏洞之一!
答案 1 :(得分:0)
你只是这样做:
<?php
$password = md5($_POST['password']); // or md5($_GET['password'])
// insert into the database
然后在登录时比较它的相同过程
$password = md5($_POST['password']);
$login = "select username from users where password = '".$password."'";
完成:)