ユーザーパスワードをハッシュするためのコーディングを始めたとき、私は最初にMD5を使用しました。
$password1 = md5($password);
意見の違う無数のページを読んだ後、何を使うのでしょうか? crypt
、、 ...これはSHA1
、SHA256
SHA1と静的ソルティングを使用してコードを修正した例です。
$salt = '324912343223942833294328432392';
$passwordarray = str_split($password,2);
$password1 = sha1($passwordarray[0].$salt.$passwordarray[1]);
//insert $password1 into database
ログインしてパスワードを確認するとき。
$salt = '324912343223942833294328432392';
$passwordarray = str_split($password,2);
$dbpasswordarray = str_split($dbpasswordarray,2);
$password = sha1($passwordarray[0].$salt.$passwordarray[1]);
$dbpassword = sha1($dbpasswordarray[0].$salt.$dbpasswordarray[1]);
if ($username==$dbusername&&md5($password3)==$dbpassword)
{
このコードを改善/変更し、より安全にするために何をすればよいですか?..例を挙げてもらえますか..動的ソルティングを実行して、データベース内の各ユーザーに一意のソルトを追加しますか?