タグ付けされた質問 「password-hash」

16
「ダブルハッシュ」は、一度だけハッシュするよりも安全性が低いですか?
保存する前にパスワードを2回ハッシュすることは、1回だけハッシュするよりも安全ですか? 私が話しているのはこれを行うことです: $hashed_password = hash(hash($plaintext_password)); これだけではなく: $hashed_password = hash($plaintext_password); 安全性が低い場合、適切な説明(またはリンク)を提供できますか? また、使用されるハッシュ関数は違いを生みますか?同じハッシュ関数を繰り返す代わりに、md5とsha1を(たとえば)混在させると、違いはありますか? 注1:「ダブルハッシュ」とは、パスワードをよりわかりにくくするために、パスワードを2回ハッシュすることを指します。私は衝突を解決するためのテクニックについて話しているのではありません。 注2:本当に安全にするために、ランダムなソルトを追加する必要があることはわかっています。問題は、同じアルゴリズムで2回ハッシュすることがハッシュを助けるか傷つけるかです。

6
ユーザーのパスワードを安全に保存するにはどうすればよいですか?
これは単純なMD5よりもはるかに安全ですか?パスワードのセキュリティについて調べ始めたところです。PHPは初めてです。 $salt = 'csdnfgksdgojnmfnb'; $password = md5($salt.$_POST['password']); $result = mysql_query("SELECT id FROM users WHERE username = '".mysql_real_escape_string($_POST['username'])."' AND password = '$password'"); if (mysql_num_rows($result) < 1) { /* Access denied */ echo "The username or password you entered is incorrect."; } else { $_SESSION['id'] = mysql_result($result, 0, 'id'); #header("Location: ./"); echo …

4
ベストプラクティス:パスワードをソルトアンドペパーリングしますか?
私が行っていることは、実際にはパスワードをソルト処理するのではなく、それらをペパーリングすることであることがわかったディスカッションに出会い、それ以来、次のような関数で両方を実行し始めました。 hash_function($salt.hash_function($pepper.$password)) [multiple iterations] 選択したハッシュアルゴリズムを無視します(これはソルト&ペッパーの説明であり、特定のアルゴリズムではありませんが、安全なアルゴリズムを使用しています)、これは安全なオプションですか、それとも何か別のことをする必要がありますか?用語に不慣れな方のために: 塩は、通常、それが不可能なパスワードをクラックするハッシュテーブルを使用するようにするために設計されたデータベース内の文字列を格納し、ランダムに生成された値です。各パスワードには独自のソルトがあるため、パスワードを解読するためにすべて個別にブルートフォースする必要があります。ただし、ソルトはパスワードハッシュとともにデータベースに格納されるため、データベースのセキュリティが侵害されると、両方が失われます。 唐辛子は秘密であることが意図されている(通常は、アプリケーションのソースコードにハードコードされた)データベースとは別に格納されているサイト全体の静的な値です。これは、データベースが侵害されてもアプリケーション全体のパスワードテーブルがブルートフォース可能にならないようにするために使用されます。 不足しているものはありますか?ユーザーのセキュリティを保護するために、パスワードをソルト&ペッパーリングするのが最良のオプションですか?この方法で行うことには、潜在的なセキュリティ上の欠陥はありますか? 注:説明のために、アプリケーションとデータベースは別々のマシンに格納されていると仮定します。パスワードは共有しないでください。したがって、データベースサーバーの違反が、アプリケーションサーバーの違反を自動的に意味するわけではありません。

7
PHPのpassword_hashを使用してパスワードをハッシュおよび検証する方法
最近、インターネットで見つけたログインスクリプトに独自のセキュリティを実装しようとしています。ユーザーごとにソルトを生成するための独自のスクリプトを作成する方法を学ぶのに苦労した後、私はに遭遇しましたpassword_hash。 私が理解していることから(このページの読みに基づいて)、を使用すると、ソルトはすでに行に生成されていますpassword_hash。これは本当ですか? 私が持っていたもう一つの質問は、2つの塩を持っているのは賢明ではないかということでした。1つはファイルに直接、もう1つはDBにありますか?そうすれば、誰かがDB内のソルトを危険にさらした場合でも、ファイルに直接ソルトがありますか?私はここで塩を保存することは決して賢い考えではないことを読みました、しかしそれは人々がそれによって何を意味するかをいつも私に混乱させました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.