ユーザーのパスワードを含む pssword 変数があり、パスワードの最初と最後にいくつかの文字列が含まれているため、パスワードがソルトされます。以下は、このためのコードです。
$teacherpassword = md5(md5("j92".$teacherpassword."djS"));
明らかに、パスワードをソルトするために選択された文字は、すべてのパスワードで同じ文字になります。
私が望むのは、ソルトの最初の 3 文字と最後の 3 文字がすべてランダムになるようにランダム文字ジェネレーターを作成して、各パスワードにランダムなソルトが含まれるようにすることです。
以下は、salt の文字をランダムに選択するために作成された php ジェネレーターです。
$salt = "";
for ($i = 0; $i < 40; $i++) {
$salt .= substr(
"./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
mt_rand(0, 63),
1);
}
私の質問は、ジェネレーターにソルトの 6 つのランダムな文字を選択させ、それらの文字の 3 つをパスワードの前に貼り付け、他の 3 つをパスワードの最後に貼り付けるにはどうすればよいかということです。
例えば:
パスワード 1 は次のようになります。 $teacherpassword = md5(md5("jfs".$teacherpassword."sfS"));
パスワード 2 は次のようになります: $teacherpassword = md5(md5("4f3".$teacherpassword.pS"));
パスワード 3 は次のようになります: $teacherpassword = md5(md5("wpw".$teacherpassword."qq2"));
ご覧のとおり、すべてのパスワードにはソルト用の php ランダム ジェネレーターのおかげで独自のソルトが含まれています。