問題タブ [php-password-hash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
273 参照

php - password_hash() はすでにソルトを提供していますが、追加のソルトを生成する必要がありますか?

PHP のネイティブ password_hash() 関数を使用する場合、(私の理解では) 独自のソルトを生成する必要があります (または生成する必要があります)。この例 ( http://www.php.ネット):

現在、sha512 を使用してハッシュし、38,500 文字のソルトを生成しています。(文字数が本当に重要かどうかわからなかったので、とにかく試してみました…ユーザーの登録とログインが成功したように見えますが、これのセキュリティ上の欠陥全体を知りません)このようなもの:

かなり奇妙ですが、暗号化に関しては、学ぶべきことがたくさんあります。(ここにソルトの1つへのリンクがあります https://shrib.com/F7lB9Ycf)さらにソルトを追加する場合(「はい」と言う場合は、もう一度ソルトします)、password_verifyを使用してソルトを追加するにはどうすればよいですか()?

助けてくれる人に前もって感謝します!

0 投票する
3 に答える
5556 参照

php - PHP password_hash 関数の値が文字列ごとに異なる

password_hash() PHP関数を使用してユーザーパスワードをハッシュしようとしていますが、この関数は定数ではなく作業ハッシュです。

4回目のテスト結果

0 投票する
1 に答える
1268 参照

java - Java を使用して、PHP で password_hash を使用してハッシュされたパスワードを検証する

HTTP 要求を Java Web サービスに送信する PHP ベースの Web アプリケーションを使用しています。Java Web サービスは、Oracle データベースで要求されたアクションを実行します。HTTP リクエストでパスワードを送信する前に、password_hash を使用してパスワードをハッシュしたいと考えています。新しいユーザーの作成時にこれを行うと、問題はありません。ただし、このパスワードを使用してログインする必要がある場合、データベースに直接アクセスしてそこに保存されているハッシュを取得できないため、PHP で確認できません。したがって、検証は Java Web サービスで行う必要があります。それは可能ですか?そうでない場合、代替手段は何ですか?使用されているソルトはランダムであるため、ログインに使用されているパスワードをハッシュして送信することはできません。これは、ハッシュに使用されるソルトがデータベースに保存されていないためです。

0 投票する
0 に答える
508 参照

php - Password_verify がデータベースと一致しない

これに関連する他の質問/回答を見て、回答に合わせてコードを複数の方法で変更しようとしましたが、成功しませんでした。正常に機能する登録フォームがあり、password_hash 関数を使用してユーザーをデータベースに正常に追加します。パスワード フィールドは VARCHAR(255) で、入力するとハッシュ化されて表示されます。

問題はログインフォームにあります。私は一日中さまざまな方法を試しましたが、成功しませんでした。以下は私の現在の login.php スクリプトです。

$error 変数は問題なく動作しますが、password_verify のどこが間違っているのかまだわかりません。「一致」ではなく「メールまたはパスワードが無効です」というエラーが表示され続けます。

コードで見逃していたものについて、フィードバックをいただければ幸いです。ありがとう :)

0 投票する
1 に答える
1166 参照

php - データベースからハッシュ化されたパスワードを使用すると、password_verify が機能しない

解決した

登録フォームに奇妙な問題がありました。JS は奇妙なことをしていて、ログイン時に password_verify が機能していたとしても、場合によってはハッシュが異なっていました... コードを修正したところ、動作するようになりました! みんなありがとう!

解決した

password_verify コードが 4 日間も機能しない理由を真剣に理解しようとしていますが、本当に混乱して怒っています...

まず、セッションはすでに開始されており、他のすべては問題なく動作していると言わざるを得ません。

しかし、password_verify スクリプトを作成しようとすると、まだ false が返されます...

データベースのフィールドに名前が付けられpassword、に設定されていvarchar 255ます。

データベースからのパスワードは次のようになります。

$2y$10$GEw0Ie6r/Udz2hgJVkCy.ut99NY5NE.h8LEvNM1gBizA1tY58iNa6

いいですよね、こうあるべきですよね…

そして、自分のページでデータベースのパスワードをエコーすると、同じように表示されるので、良いです。しかし、私がするとpassword_verify、うまくいきません。それpassword_verifyは間違っていることを示しています...フォームに入力しているパスワードが正しく、dbパスワードと一致することを100%確信しているため、その理由はわかりません。ただし、機能せず、「DONE」がエコーされません。

echo strlen60を示しています

echo $dbpasswordハッシュされたデータベースのパスワードを示します。

echo $passwordsubmittedフォームから通常入力されたパスワードを表示します。

しかし、このコードを使用すると、動作し、エコーが「DONE」になるため、password_verify が true であることを意味します...

なぜこれが起こっているのか本当にわかりません。助言がありますか?

UPDATE 登録入力は<input type='password' name='password'>

登録から送信されたパスワードは、次のコードでハッシュされます。

0 投票する
1 に答える
667 参照

php - パスワードをハッシュしようとすると、DB に Null 値が入力される

私は過去にPHPをプロジェクトに少量使用しましたが、パスワードをハッシュすることで何か新しいことを試みています。

別のページには、送信時に checkRegistration.php フォームにリダイレクトする Web フォームがあり、データベースに接続し、ユーザーの値を取得して検証し、それぞれの列に入力します。

これまでのところ、「0」または空として入力されている password_hash 関数によって渡されたものを除いて、渡されているすべての値が正しく入力されています。0 だと思うのですが、正しく処理されておらず、何が間違っているのか疑問に思っていました。

?>

0 投票する
2 に答える
969 参照

php - パスワードを保存されたハッシュと比較する

これまでの私の理解から (少なくとも私はそう思います)、 password_hash() 関数は、使用中のアルゴリズム、コスト、ソルトに基づいてハッシュを生成します。password_verify は、egpassword_hash($pass, PASSWORD_BCRYPT, array('cost'=>10))から提供された情報を使用して、検証に必要なすべての情報が含まれているため、返された値が true か false かを確認します。

以前使っていた

$SQL_Query = "SELECT * FROM DB_Table WHERE userName = '".$username."'" AND password = $ID;

これはプレーンテキストで保存されているため機能し、true を返す可能性がありますが、論理的には今回は機能しません。

次のような説明で静的パスワードを使用する同様の質問に出くわしました

私が理解に苦しんでいる概念は、パスワード入力がその時点でページに知られているのではなく、データベースに保存されている場合、パスワード入力をハッシュ値と照合する方法です? 私は最近、私の愚かなエラーである値の保存に関して助けを得ましたが、これは私が望んでいたほどうまくクリックしていないと思います。

0 投票する
1 に答える
1067 参照

authentication - Xenforo パスワード認証の問題

以下は、パスワードに保存されたハッシュです。

$P$Di4MXJKUkkJRfzrpffssNdasSN3XAg0

次のように Xenforo パスワードを認証しようとしています。

例えば:

私のパスワードは: 123456

私のパスワード保存ハッシュは: $P$Di4MXJKUkkJRfzrpffssNdasSN3XAg0

だから私は認証するために次のコードを書いています:

認証方法を教えてもらえますか?

前もって感謝します。

0 投票する
6 に答える
233941 参照

php - PHP の password_hash を使用してパスワードをハッシュおよび検証する方法

最近、インターネットで偶然見つけたログイン スクリプトに独自のセキュリティを実装しようとしています。ユーザーごとにソルトを生成する独自のスクリプトを作成する方法を学ぶのに苦労した後、私はpassword_hash.

私が理解していることから (このページの読み取りに基づいて)、 を使用すると、行にソルトが既に生成されていますpassword_hash。これは本当ですか?

私が持っていた別の質問は、2つの塩を持つのは賢明ではないかということでした. ファイルに直接1つ、DBに1つ?そうすれば、誰かが DB であなたのソルトを危険にさらしたとしても、ファイルに直接ソルトが残っていますか? ここで、塩を保存することは決して賢明な考えではないことを読みましたが、人々がそれを意味することを常に混乱させていました.