ホームページ >バックエンド開発 >PHPチュートリアル >HTTP ダイジェスト認証の質問
http://blog.csdn.net/gl1987807/article/details/6090811
この記事を読んだ後、いくつか質問があります
PHP でこれらの概要認証情報のパラメーター値を生成するにはどうすればよいですか?
username = 'ユーザー名'
realm = 'レルム'
nonce = '現在'
uri = 'クライアントがアクセスしたいURI'
qoq = 'クライアントが選択した保護方式'
nc = ''
cnonce = ''
response = ''
等号の背景に説明がありますが、最後の 3 つのパラメータの値はどこから来たのですか? ドキュメントに説明がありますが、その意味がわかりません。
nc,cnonce 値はランダムに生成されますか?
応答はパスワードの md5 暗号化によって生成されますか?
nc の「現在の」カウンター、つまり数値クライアントによって送信されたリクエストの数
cnonce クライアントによって提供される任意の文字列、およびクライアントとサーバーの両方が使用します
応答 'response'、ユーザーがパスワードを知っていることを証明するためにユーザー エージェント ソフトウェアによって計算される文字列
ncクライアントによって送信される「現在の」カウンター リクエストの数
cnonce はクライアントによって提供される任意の文字列であり、クライアントとサーバーの両方が使用します
応答 'response'、ユーザー エージェント ソフトウェアによって計算される文字列ユーザーがパスワードを知っていることを証明するため
nc 値は自由に入力できますか?例: 000001
cnonce 値は自由に入力できますか?例: 51c3f331ca5600006784
応答アルゴリズムを見つけました:
$ha1 = md5("$username:$realm:$password");
$ha2 = md5("POST:$uri");
$response = md5( " $ha1:$nonce:$nc:$cnonce:$qop:$ha2");
注: PHP 言語。
PHP自体が構築したHTTPリクエストを使用しているため、クライアントがパラメータを自動生成する機能はありません。
これらのパラメータ値を生成する方法がわかりません。いくつかのパラメータの値の取得方法はわかっていますが、上記のパラメータは値の取得方法がわからないパラメータです。