Я изучаю алгоритмы шифрования паролей. Я знаю о существовании Bcrypt, Scrypt и varients, но я хочу chanllenge сам по этому вопросу, и именно поэтому я пришел с этим алгоритмом в PHP:PHP-алгоритм для хэш-паролей
$secret = md5(uniqid(mt_rand(), true)); // Length is 32
$passwd = 'qwert123';
$hash = $secret . hash('sha256', $secret + $passwd);
Поскольку тайна определяется случайным образом и добавила на фронте хеша пароля, я мог бы подтвердить ввод пароля следующим образом:
$secret = substr($hash_from_db, 0, 32);
$hash_from_db === $secret . hash('sha256', $secret + $input_from_user);
Что вы думаете об этой реализации? Я хотел бы получить некоторые отзывы об этом. Спасибо.
Вы только заново [засолка] (http://en.wikipedia.org/wiki/Salting_ (криптография)). –
отличная работа, если вы придумали это, не зная, что такое соль. –
Используйте PHPass, он плавный и гарантированно работает. Лучшая защита там в данный момент. – Jonast92