4

クライアントの Web システムを更新しています。彼の「アカウント」テーブルには 20,000 人を超えるユーザーがいて、それぞれのパスワード フィールドはストレート テキストです。つまり、パスワードは暗号化されていません。(私は知っています、恐ろしい!) とにかく、これらのパスワードをすべて取得し、できればバッチ スタイルで簡単に暗号化し、データベースにインポートする方法を知る必要があります。検索してもあまり出てきませんでした。B-Crypt は見ましたが、主にファイルに使用されているようです。私はこれにかなり初心者なので、どんな提案でも大歓迎です! ありがとう。:)

4

2 に答える 2

2

これを行う 1 つの方法を次に示します。

UPDATE table_Users
SET password = EncryptionFunctionYouChoose(password);

ここで、「table_Users」はパスワードが保持されるテーブルであり、「password」はパスワードの列名です。編集終了

ただし、暗号化するのではなく、個々のソルト値で各パスワードをハッシュすることをお勧めします。(私の意見)

于 2011-07-18T15:17:22.613 に答える
1

私が知る限り、MySQL は組み込みの B-CRYPT 関数を提供していません。を参照してください。MySQLクエリを使用してこの問題を解決したいだけなら、次のようなことができます

update users set password = SHA2(password, 256);

しかし、BCrypt が好きなら、アプリ レベルで行う必要があると思います。

パスワードをデータベースに保存することについては、常に興味深い議論があります。このリストを見る

于 2011-07-18T15:21:29.583 に答える