問題タブ [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.
php - password_hash は毎回異なる値を返します
私はログインシステムを作成しています。パスワードをハッシュしてより安全にしたいのですが、毎回異なるハッシュを返し、password_verify() を使用して検証することさえできません。ここに私のコードがあります:
そして、ここに検証用の私のコードがあります:
php - password_verify を使用してログイン システムを機能させるにはどうすればよいですか?
私はPHP / MYSQL登録/ログインシステムに1週間ほど取り組んでいますが、本当にphp password_hashとpassword_verify関数に問題があります...登録は機能し、password_verifyでのログインは失敗し続け、理由がわかりません..誰か助けてもらえますかアウト?私は本当に必死です。
ログイン部分..私が達成しようとしているもの 1-メールが空かどうか、有効なメールかどうかを確認します.2-パスワードが空かどうかを確認します。3-$email と $password の両方に問題がない場合..データベースに接続します..次に、a-電子メールがテーブル users に存在するかどうかを確認し、存在しない場合は登録する必要があります..b-ユーザーが db に存在する場合、次に、$password が db のパスワードと同じかどうかを確認します...有効なパスワードの場合は「有効」と表示され、有効なパスワードでない場合は「無効な電子メール/パスワード」と表示されます...つまり私が達成しようとしていること...
ここに私は完全なコードを投稿しています:
デシベルデザイン
register.php
login.php
php - PHP password_hash()、デフォルトまたはカスタムソルト?
password_hash() 関数を使用してユーザーのパスワードを暗号化することを考えています。この関数は、提供しない場合、デフォルトでソルトを生成することを理解しています。独自のソルトではなく、デフォルトのソルトを使用することをお勧めします。現在、3つのオプションを検討していますが、どれにするか決めかねていますので、お役に立てれば幸いです。
1. オプション: password_hash() とデフォルトのソルト
2.オプション:カスタムソルトを使用したpassword_hash()
3. オプション: password_hash() をまったく使用しない
このオプションは、2014 年の投稿に基づいています: The definitive guide to form-based website authentication . 基本的に、それが password_hash() よりも安全なアプローチである場合、私は次のようなものを使用します:
php - phps password_hash() から正しいソルトを取得するには?
の出力にソルトが含まれていることはわかっていますがphps
password_hash()
、次を実行すると:
元のソルトの一部しか見えません。最後の文字が切り捨てられているか、何らかの形で別の文字に変換されているようです。では、salt の最後の文字を取得するにはどうすればよいでしょうか。
更新 申し訳ありませんが、私の質問を明確にさせてください: phps password_hash() 関数から返されたハッシュからソルトを取得するにはどうすればよいですか? カスタムソルトを使用する予定はありません。php が提供するものを取得したいだけです。私の例は、私の22レングスの文字列がハッシュで完全に表現されていないことを示すためのものです。私のソルトの21文字しか表示されません。なんで?最後のキャラはどこ?
php - 奇妙な Password_Hash の問題
しばらく前とまったく同じスクリプトを使用していますが、何らかの理由で新しいドメインに移動し、それをホストしているときに非常に奇妙な問題が発生したため、ユーザーを作成してログインを試みましたが、彼には機能しませんでしたこのphpを使用して、ランダムなtest.phpファイルから新しいハッシュを取得しました:
その後、彼は正常にログインし、メインの管理者アカウントにログインしようとしましたが、ハッシュを2回再作成しようとしても、何らかの理由で機能しません。
何が起こっているのか、誰かが私に教えてくれませんか。
ログインコードは次のとおりです。
User_login 関数:
フェッチ機能:
接続機能:
PS 私のサイトで試用するアカウントを取得したい場合は、一時的なアカウントを作成してください。