Кто ведает (существует-ли вообще она) функцию создания хэша пароля которая не будет совпадать, если сравнить пароль с хэшем на другом сервере (хостинге)? Например, эта функция должна подмешивать в хэш данные системы которые нельзя узнать средствами php.
Каково ваше мнение по поводу:
https://github.com/ircmaxell/password_compat
https://github.com/opencart/opencart/blob/master/upload/system/library/cart/user.php
Если:
Варианты которые не показывают разный результат на разных хостингах (серверах), а значит узнать пароль человека смогут со временем:
<?php //7.0
$password = 123;
//1)
$hash = hash('sha256', $password);
if ($hash == 'a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3') {
echo $hash . ' - пароль найден = ' . $password . '<br>';
}
//2)
$hash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($password, $hash) && password_verify($password, '$2y$10$wxLdEelrVD8j54OFCd8OQurdwdhPy6fNs0DFgVATdXN/Trk.5L8Yq')) {
echo $hash . ' - пароль найден = ' . $password . '<br>';
}
Решения и предложения:
1. Выводить при регистрации и смены пароля информацию о том, чтобы использовали уникальный пароль и объяснить почему. (действенный метод)
2. Установить валидацию при регистрации и смены пароля на проверку присутствия не менее одной буквы в верхнем и нижнем регистре, цифры и минимум от 8 символов. (усложнит задачу злоумышленникам)
3. Создать второй сервер в другой стране открыв доступ только между запросами сайтов для обмена токенами для получения соли. (усложнит задачу злоумышленникам)
4. Закубировать файл проверки паролей. (усложнит задачу злоумышленникам)