0

こんにちはみんな最近私は使い始めました

$salt = $uniqueSalt;

$cryptpassword = md5($salt.$password);

これを使用してmysqlデータベース内のすべてのパスワードを変換して、ユーザーに影響を与えないようにするにはどうすればよいですか?

データベースatmのパスワードはプレーンテキストです。すべてのプレーンテキストのパスワードをソルトを使用してmd5に変換したいと思います。

4

2 に答える 2

3

塩とその使い方についてもっと読むことをお勧めします。これらは一定の文字列ではなく、各ユーザーに固有のものであるべきです。たとえば、ユーザー名。または私の個人的なお気に入り: 登録日 (もちろん 1 秒の精度で)。

また、パスワードを MD5 ハッシュとして DB に保存すると、パスワードを変換する方法がありません。MD5 は一方向ハッシュです。ソルトを適用して再ハッシュするために元のパスワードを取得することはできません。これを絶対に適用したい場合、これを行う唯一の方法は、各ユーザーにパスワードを変更させ、変更したときに新しいアルゴリズムを適用させることです。これには 2 つの問題があります。

  • ほとんどのユーザーはこれを気に入らないでしょう
  • どのユーザーが変更を行い、どのユーザーが変更を行わなかったのかを追跡する必要があります。これは、ログイン時のトラブルを防ぐためです。
于 2012-05-07T18:19:26.400 に答える
0

これと同じですが、ログインを変更する必要があるため、パスワードを確認せずに md5($salt.$password); を確認します。

しかし、私のフォポスターが言ったように、それはそれほど安全ではなく、パスワードがデータベースでまだプレーンでない場合、ハッシュされている場合はおそらくプレーンテキストとして取得されません

于 2012-05-07T18:19:27.123 に答える