パスワード暗号化アルゴリズムを研究しています。私は bcrypt 、 scrypt 、およびバリアントの存在を知っていますが、この質問に挑戦したいので、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 );
この実装についてどう思いますか?私はそれについていくつかのフィードバックを受け取りたいです。ありがとうございました。