常にハッシュを探しているパスワードを使用すると、パスワードを解読したくない、または解読する必要がなくなります。したがって、あなたが探しているのは、強力なハッシュアルゴリズム、blowfish または SHA512 です。異なるユーザー パスワードの比較に関する質問については、システム全体のセキュリティが大幅に低下します。
各パスワードにランダムなソルトを含めて、ハッシュを事前に計算できないようにする必要があります。そのため、同じパスワードでもユーザーごとに異なるハッシュが作成されます。そうしないと、攻撃者が同じパスワードを使用しているユーザーを見つけて使用する可能性があります。彼らの利益に。すべてのパスワードに同じソルトを使用するとその目的が無効になり、何も使用しないとレインボー テーブルが使用できるようになるため、アプリケーションの安全な設計が必要な場合は、その特定の機能を犠牲にする必要があります。
編集:申し訳ありませんがコメントを削除し、回答として投稿しました
妥協点を探している場合は、おそらくすべてのパスワードに共通する大きなランダムソルトを使用して、多くのハッシュ反復を検討していると思います。これにより、パスワードの解読に使用できる事前計算済みのテーブルが既に存在しないことが保証され、解読時間が長くなります。アルゴリズム チェーンもオプションである可能性がありますが、多くのユーザーがいる場合、パフォーマンスの問題が発生する可能性があります。基本的に、ユーザーのパスワードを比較できるようにしたい場合は、ハッシュの計算に時間がかかるようにします。これにより、クラッキング時間が大幅に増加します。繰り返しますが、これは妥協であり、この問題を回避するための最も効率的で安全な方法ではありません。