2012-02-26 18 views
1

JavaでHTTPSリクエストを送信し、GETまたはPOSTデータでパスワードを送信したいとします。それは安全ですか? POST/GETフィールドにパスワードをプレーンテキストとして入力するだけで、httpsを使用すると保護されますか?それとも私はもっと何かをするべきですか?GET/POST経由で安全にパスワードを送信するには?

+0

目的地に直接接続していて、中間者攻撃を除外できると仮定できますか? – DNA

答えて

1

通常、認証用のユーザー名+パスワードをBase64でエンコードされた認証ヘッダーとして送信します。

Base64エンコーディングは暗号化ではありません。あなたはまだそれがSSL/httpsになっていることを確認する必要があります。

Base64コーデックは、ルーター、スイッチ、および他のネットワーク仲介装置のエンディアンと他の特質がパスワードやネットワークのクラウドを通じて転送されるバイナリデータを変換しないようにするための手段です。

コーデックは、バイナリデータのストリームを個々のテキスト文字の列として認識することによって機能します。しかし、文字は8ビットではなく6ビットである。使用される64文字の文字は、通常のA-Z、a、z、0-9、+、/です。

認証:基本base64でエンコードされたユーザ名、パスワード

どこBase64でエンコードされた値が0有し、かつ/ HTTP認証ヘッダーは通常、この基本的な認証形式を持っていた値に63

を有します-username-passwordは、base64エンコーダ(Javaのutilクラス、btw)から渡されるレイアウトusername:passwordを持ちます。

http://en.wikipedia.org/wiki/HTTP_header

http://en.wikipedia.org/wiki/Base_64

+0

追加:Base64は、もともと7ビットエンコーディングのみを受け入れたシステム間でバイナリデータ伝送を送信できるように発明されました。 –

5

必ずPOSTを使用してパスワードを送信してください。 httpsは送信中に暗号化されていることを保証します。

関連する問題