クリプトの使用に問題があります。クライアントのサイトを再構築しています。そのため、以前のバージョンから継承されたコードがたくさんあります。サイトの元のデータベースをそのままにしておく必要があるため、コードの変更に注意する必要があります。以前の開発者は、crypt() 関数を使用して、ストレージ用のユーザー パスワードのハッシュを作成していました。私が見ている奇妙な効果は、同じパスワードのわずかな違いがまったく同じハッシュを作成することがあることです。クリプトがどのように機能するかについてはよくわかりませんが、これは起こるべきではないように思えます。例としていくつかのコードを示します。
echo crypt('Colliedog6','wfd')."\n";
echo crypt('Colliedog10','wfd')."\n";
これは、サーバー上で同じハッシュ文字列を返します。以前の開発者が使用したものであり、現在のすべてのパスワードはそのソルト文字列を使用して作成されているため、私はそのソルト文字列を使用しています。すべてのユーザーにパスワードのリセットを強制したい場合を除いて、私は本当にそれを使用する必要があります. これは必ずしも問題外ではありませんが、回避したいと考えています。crypt が上記のようなわずかに異なる 2 つの文字列を取り、同じハッシュを作成するのはなぜですか?