Как «конвертировать» зашифрованный пароль с базы данных в нормальный текст?

<?php
	session_start();
	$username = filter_var(trim($_POST['username']), FILTER_SANITIZE_STRING);
	$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);


	$mysql = new mysqli('localhost', 'root', '', 'user');
	$result = $mysql->query("SELECT * FROM users WHERE username='$username' AND password='$password'");
	$user = $result->fetch_assoc();
	
	
	if(count($user) == 0){
			echo "no";
	}else{
		echo "yes";	
	}
	session_destroy();

?>
  • Вопрос задан
  • 461 просмотр
Решения вопроса 5
delphinpro
@delphinpro
frontend developer
Пароли в базе обычно не шифруются, а хешируются.
Хеширование необратимо.
Ответ написан
inoise
@inoise
Solutions Architect, AWS Certified, Hybrid Cloud
Никак. Хэш от пароля должен быть односторонним. Берем хэш от присланной строки и сверяем результат с тем что в бд
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Так не делается. Выбирается пользователь с нужным никнеймом, затем переданный пароль хешируется методом используемым при регистрации(если используется простое хэширование) и сравниваются хеши, или проверяется через password_verify, если использовалось более современное решение через password_hash().
Ответ написан
l3ftoverz
@l3ftoverz Куратор тега PHP
Туды сюды
Как «конвертировать» зашифрованный пароль с базы данных в нормальный текст

Вангую, что у тебя там не зашифрованая строка, а хеш какой-то, хоть бы показал как оно "шифруется".
Я так понял ты авторизацию делаешь, тебе не нужно при авторизации делать обратное преобразование, просто преобразуй точно так же входящие данные и сравнивай хеш, если там всё таки хеш.

Если хеш - то он односторонний. Т.е. его уже не привести к первичному виду.

$_POST['username'] перед ипользованием стоит проверить, что индекс есть.
Ответ написан
romandkoz
@romandkoz
Для хэширования пароля используй функцию password_hash, а при авторизации сверяй пароль из инпута с хэшем в базе функцией password_verify
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
HTML Academy Санкт-Петербург
от 110 000 до 130 000 руб.
от 55 000 до 80 000 руб.
WACDAQ Москва
от 120 000 руб.