0
кода на моей странице регистра:Соль Пароли не совпадают
$p_salt = rand_string(20);
$site_salt="subinsblogsalt"; /*Common Salt used for password storing on site.*/
$salted_hash = hash('sha256', $password.$site_salt.$p_salt);
я затем вставить соль в базу данных, наряду с солеными паролями, но когда я делаю это на моей странице входа:
if(isset($_POST) && $email!='' && $password!=''){
$sql=$dbh->prepare("SELECT id,password,psalt FROM user WHERE email='".$email."'");
$sql->execute(array($email));
while($r=$sql->fetch()){
$p=$r['password'];
$p_salt=$r['psalt'];
$id=$r['id'];
}
$site_salt="subinsblogsalt";/*Common Salt used for password storing on site. You can't change it. If you want to change it, change it when you register a user.*/
$salted_hash = hash('sha256', $password.$site_salt.$p_salt);
Но они совсем не совпадают, я повторил соленый хеш, чтобы сравнить его с тем, который находится в базе данных, но они разные.
Разум, проводящий оба результата вместе с вводом? –
«Общая соль, используемая для хранения паролей на сайте», ужасная практика может также не солить ее вообще –
Возможный дубликат [Безопасный хеш и соль для паролей PHP] (http://stackoverflow.com/questions/401656/secure-hash -and-salt-for-php-пароли) –