Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
где гарантия, что я не заставлю сервер не выполнить ваш файл «enter.php», а просто прочитать его, или найти в вашем сайте ещё какую дырку и получить исходный код файла

$bcrypt = crypt($pass, '$2a$'.$cost.'$'.$salt);
#!/usr/bin/php
<?php
$pass = 'password';
$salt = '0aB1cD2eF3gH4iJ5kL6mN7';
//md5
$time = microtime(true);
for ($i = 0; $i < 100000; $i++) {
$md5 = md5($pass.$salt);
}
$time = microtime(true) - $time;
echo "MD5: $md5\n";
echo "Time: ", 100000 / $time, " iterations/s\n\n";
//md5 hmac
$time = microtime(true);
for ($i = 0; $i < 100000; $i++) {
$hmac = hash_hmac('md5', $pass, $salt);
}
$time = microtime(true) - $time;
echo "HMAC(md5): $md5\n";
echo "Time: ", 100000 / $time, " iterations/s\n\n";
//bcrypt
for ($cost = 4; $cost <= 31; $cost++) {
$time = microtime(true);
for ($i = 0; $i < 1000; $i++) {
$bcrypt = crypt($pass, '$2a$'.str_pad((string) $cost, 2, '0', STR_PAD_LEFT).'$'.$salt);
}
$time = microtime(true) - $time;
echo "bcrypt($cost): $bcrypt\n";
echo "Time: ", 1000 / $time, " iterations/s\n\n";
}
«Известный только вам» алгоритм увеличивает сложность пароля незначительно.
При условии, что один из таких паролей стал известен злоумышленнику, остальные пароли (с другими префиксами и суффиксами) автоматически становятся менее надежными.
my_super_secure_hash_method ( $salt_and_pepper, md5 ( $password ) );
По следам LinkedIn благополучно утекла база и Last.fm