2012-01-06 16 views
0

私はログイン用のプロンプト・ボックスを現在使用しているWebサイトのログイン・システムに取り組んでおり、ユーザー名/パスワードを(データベースのテーブルではなく)サーバー上のファイルに保存しています。パスワードは以前に見たことのない方法で暗号化されているので、私はここで問題に遭遇しています。ここで使用されている暗号化を誰かが認識できるかどうか疑問に思っていました。例:すべて暗号化されたパスワードは「$を持ってこれはどのような暗号化ですか?

"ブダペスト" は "$ apr1 $ 6awtpn87 $ 1PzMKL1M4H6urlEil/z5m /" に変換し、 "マリオ" は "$ apr1 $ zhadw0iq $ r8plh8o.Jj.V34oJ1tjWV1" へ

翻訳最初は「apr1」、その後は8文字、次に「$」、次に22文字以上の文字が含まれます。これは "$ apr1"を除いて32文字ですので、md5のバリエーションかもしれないと思っていましたが、暗号化にはあまり慣れていないので誰かが私に手を差し伸べることを望んでいましたか?

この

は、.htaccessファイルの内容です:

のAuthType基本 でAuthName「ここにサイト名」 が必要有効なユーザー

答えて

3
+0

ありがとう:ドキュメントはで見つけることができます!しかし、ログイン時にパスワードが正しいかどうかをPHPに確認させるにはどうすればよいですか(このアルゴリズムにはランダムな文字列が含まれていることがわかります) – robert

+0

参照http://stackoverflow.com/questions/1038791/how-to-programmaticaly-build-an-apr1-md5-using-php –

+0

ありがとうございます。しかし、そのスクリプトの作者は、「間違いを犯したことが判明しました。この機能は実際にAPR1のhtpasswdエントリを作成しています。彼らはApacheが作ったものと異なって見えるが、彼らはうまくいく。スクリプトで既存の暗号化を認識させ、新しい暗号化を作成するのではないでしょうか。それは可能ですか? – robert

0

AuthUserFileは「ここでパスワードファイルへのパスは、」それはユーザ名を格納した場合/ファイル、おそらく基本認証のいくつかのフォームを渡す。 http://httpd.apache.org/docs/2.1/howto/auth.html http://httpd.apache.org/docs/1.3/howto/htaccess.html

0

これは、次のように構築され、パスワードのハッシュです:

$ algorythm $塩$ハッシュ

これはapacheスタイルのapr1-md5 algorythmです。その後、8byteのランダムな塩、次にパスワードの実際のハッシュ - 塩を使用します。

apache httpdを使用してHTTP Basic Authでサポートされているパスワードハッシュ/暗号化方式の詳細については、http://httpd.apache.org/docs/2.1/misc/password_encryptions.htmlを参照してください。