1

今のところ、私はこのコード行を持っています

<?php
    $pass = "12312312";
    echo md5(crypt($pass))
?>

cryptがランダムにソルトを生成できることは知っていますが、ユーザー入力でどのように比較できるかわかりません。

ログインテーブルに必要なフィールドは何ですか?また、どのデータをテーブルに挿入しますか?

ありがとう!

4

1 に答える 1

5

以下のようにパスワードをテーブルに保存できます

$pass = "12312312";

// store this in table with separate column
$salt = md5("any variable"); // may be email or username

// generate password
$password = sha1($salt.$pass);

// now store salt and password in table

そして、あなたは次のようなパスワードをチェックすることができます

$pass = "User input";

// get the user from database based on user id or username
// and test the password stored in db with

if($passwordFromTable == sha1($saltFromTable.$pass))
{
    // correct
}
于 2012-05-24T06:12:03.333 に答える