У меня есть следующий код: (только тестовый файл для шифрования/хеширования)соль + sha512 + md5 шифрование
<!doctype html>
<html>
<head></head>
<body>
<?php
error_reporting('off');
if (isset($_POST['submit'])) {
$salt = "[email protected]<^$";
$hash = hash("sha512", $_POST['hash']);
$hash = $salt . $hash;
$hash = md5($hash);
echo $hash;
$hashLen = strlen($hash);
echo "<br>The length of the hashed word is " . $hashLen . " characters long!";
}
?>
<form action="hashed.php" method="post">
<input type="text" name="hash">
<input type="submit" value="Hash" name="submit">
</form>
</body>
</html>
Насколько безопасно это? Я знаю, что это, скорее всего, можно взломать, но как долго это займет? В настоящее время я создаю регистрационную форму php/mysqli и хочу сделать пароли пользователя безопасными, насколько я могу, так что взломать один из паролей пользователя потребуется очень долгое время. Чтобы зашифровать его еще больше, я могу использовать это, например:
Хеширование его с помощью sha512, md5 (md5), добавление другой соли, еще двух sha512, еще одного md5 и другой соли!
Насколько это безопасно? Как долго понадобится взломать этот пароль хакером? Пожалуйста, не могли бы вы посоветовать мне использовать очень, очень безопасный метод шифрования. Кроме того, я хочу, чтобы пользователь вошел в систему с файлом cookie: нужен безопасный способ хранения их информации в cookie!
Заранее спасибо
Повышенная сложность! = Повышенная безопасность. Использование одной и той же соли для всех паролей совершенно небезопасно. [password_hash()] (http://us1.php.net/manual/en/function.password-hash.php) является безопасным и имеет встроенные надежные соли. –