До: я извиняюсь за мой английский.
Хорошо, сейчас я использую следующий метод шифрования:
SHA256_PassHash (inputtext, «78sdjs86d2h», MyHash, sizeof (MyHash));
SHA256 со солью: «78sdjs86d2h
Прямо сейчас я проверяю пароль следующим образом:
if(isset($_POST['username']) && isset($_POST['password'])){
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$check = get_row("SELECT playerID FROM playeraccounts WHERE playerName='$username' && playerPassword='$password'");
if(isset($check['playerID']))
{
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
mysql_query("UPDATE playeraccounts SET rpgon=1 WHERE playerName='$username'");
$id = $check['playerID'];
header("location: index.php");
}
else
{
$err = 'Username sau parola incorecte';
}
}
Как я могу заставить его работать с этим методом соли? Пожалуйста, я не очень разбираюсь в PHP … может кто-нибудь рассказать мне о том, как зашифровать входной текст?
Не используйте SHA256 (который для дальнейшего использования это хеш-функция, а не метод шифрования) для хранения паролей. Ссылаться на Как безопасно хранить пароли ваших пользователей для современной передовой практики.
Поскольку вы спрашиваете о PHP, вы хотите использовать password_hash()
а также password_verify()
.
Других решений пока нет …