UCenter パスワードアルゴリズムのルールと生成方法

UCenter パスワードアルゴリズムのルールと生成方法

Discuz、UCHome、Supesite を含む Kangsheng の一連の製品は、同じユーザー システムである UCenter に統合されています。ユーザーのログイン パスワードも UCenter に保存されます。他のシステムとの統合や UCenter システムへのデータのエクスポートでは、通常、パスワード生成の問題が発生します。ここでは、UCenter のユーザー パスワード アルゴリズム ルールと生成方法について説明します。

パスワードは通常、MD5 を使用してハッシュ化され、データベースに保存されます。ハッカーが HASH 値を入手した場合、辞書を使用してそれを解読できます。辞書データベースが十分に大きく、辞書が人々の設定習慣と一致している場合、一般的なパスワードは簡単に解読できます。そのため、UCenter はソルトを使用して、このブルート フォース クラッキングを防止します。ソルトは、パスワードに接続され、一方向関数で操作されるランダムな文字列です。ソルト値に対する一方向関数操作の結果は、データベースに保存されます。可能なソルト値の数が十分に多い場合、ハッカーはソルトとユーザーパスワードを組み合わせたハッシュ値をそれほど多くデータベースに保存できないため、一般的に使用されるパスワードに対する辞書攻撃が実際に排除されます。

UCenter の創設者パスワードはファイルに保持されます。uc の下の /data/config.inc.php ファイルを開きます。その中の UC_FOUNDERPW はパスワードを保持し、UC_FOUNDERSALT は SALT 値を保持します。創設者パスワードを作成するためのルールは、UC_FOUNDERPW=md5 (md5 (PASSWORD).UC_FOUNDERSALT) です。これは、最初にパスワードを MD5 し、次に salt を追加し、最後にもう一度 MD5 することを意味します。生成された HASH 値は config.inc.php ファイルに保持されます。したがって、UC_FOUNDERPW の値を変更することで、UCenter の創設者パスワードを変更できます。

UCenter ユーザー情報は、uc_members テーブルに保存されます。このテーブルでは、各ユーザーには異なるランダム ソルト フィールドがあります。テーブル内のパスワード フィールドは、計算されたパスワードです。パスワードの計算ルールは、$password=md5(md5($password).$salt) です。つまり、ユーザーのパスワードを MD5 し、ソルトを追加してから、再度 MD5 し、パスワード フィールドに保持します。

したがって、異なるシステム間でデータを変換する必要がある場合は、この原則に基づいて他のシステムのユーザー名とパスワードを計算し、それらを UCenter の uc_members テーブルにインポートして、ユーザーの移行を実現できます。たとえば、元のシステムがパスワードを保持するために md5 (password) などのアルゴリズムを使用している場合、プログラムはランダムにソルトを生成し、2 つの合計の md5 を計算できます。このようにして、UCenter でユーザーのパスワードの HASH 値を簡単に計算できるため、シームレスなユーザー移行が実現します。

ただし、元のシステムが md5 (パスワード + ソルト) を使用してパスワードを保持している場合、UCenter へのスムーズなパスワード移行を実現することはできません。移行できたとしても、UCenter パスワードに手動でソルトを追加することによってのみ使用できます。したがって、システムユーザーパスワードを設計するときは、パスワードの保持に md5 (md5 (パスワード) + ソルト) を使用するようにしてください。これにより、UCenter とのインターフェイスが容易になり、セキュリティが確保されます。通常、英語のユーザー名の場合、自作システムではユーザー名をソルトとして使用するのが簡単な方法です。

【編集者のおすすめ】

  1. ユーザーをサイトに留める: UCenter Home の新バージョンで詳細が向上
  2. フルディスク暗号化 (FDE) ソフトウェアのパフォーマンスが明らかに
  3. 暗号学:理論から実践へ

<<:  VB.NET コーディングアルゴリズム学習ノート

>>:  「アルゴリズム」の混乱にどう向き合うか?

ブログ    
ブログ    

推薦する

創造性がデジタル変革を推進する

人工知能はビジネス環境を一新し、競争環境を変え、仕事の本質を変革しています。しかし、人間の創造性も ...

強力な人工知能を制御できる者は、世界全体を制御することになるのでしょうか?

人工知能は21世紀における最も重要な技術的成果となりました。したがって、世界規模の開発動向に注目する...

直接的な選好最適化戦略を用いたミストラル7bモデルの微調整

翻訳者|朱 仙中レビュー | Chonglou導入通常、事前トレーニング済みの大規模言語モデル (L...

スノーフレークアルゴリズムを学ぶのに役立つ記事

[[419666]]序文みなさんこんにちは、パンパンです!これまでは rand と srand を使...

人工知能が動物を理解するにはどれくらいの時間がかかるのでしょうか?

[[405241]]ビッグデータダイジェスト制作出典: engadget現在、オーストラリアに生息...

人工知能の雇用の方向性と展望

人工知能は現在、世界の技術競争で最もホットな話題です。我が国は人工知能の分野に多大な政策支援を行って...

Caffeine ソースコード解釈 - キャッシュ有効期限の削除に関連するアルゴリズム

[[410588]]この記事はWeChatの公開アカウント「Muscular Coder」から転載し...

ゲーム理論に基づく大規模データ分析

現代の AI システムは、試験に向けて熱心に勉強する学生のように、画像内の物体を識別したり、タンパク...

拡散モデル画像理解力がSOTAをリフレッシュ! ByteDance Fudanチームが新たな「メタプロンプト」戦略を提案

テキストから画像への (T2I) 拡散モデルは、大規模な画像とテキストのペアで事前トレーニングされて...

インドの農業変革における人工知能の役割

農業はインドの人口の約58%の生計を支えています。漁業、林業、農業の総付加価値は2020年度で194...

AI時代におけるコンピュータのマクロ的な意義について語る

実際、私たち人間は、そのようなことを心配する必要はありません。科学者は、人工知能が人間の脳のレベルに...

FFH—AI 詩作 HttpRequest 練習

オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミ...

...

ビジネスアナリストにとってAIが意味するもの

[[275322]]今日では、人工知能はもはや流行語ではなく、多くの環境ビジネスアナリストやその他の...

AIが本当に成功する方法

[[412385]]人工知能は現在、特に自動運転車でより広く深く活用されています。人工知能を使用して...