2012-04-17 9 views
0

私のHTMLフォームには、URLフォームの投稿に送る前に暗号化するパスワードフィールドがあります。gspのパスワード値を暗号化

私は基本的に私はパスワードを暗号化するために使用するvalidateAndEncrypt()のような送信をクリックするとjs関数を呼び出します。

どのようにしてこのパスワード値を暗号化できますか?

1)私は、暗号化と復号化の方法で、inbuiltコーデッククラス(DESCodec)を持っています、私は直接このコーデックをgspで使用できますか? - もしそうなら、私はパスワード値をjavascriptからDESCodecに送ります。 2)プレーンJavaScriptを使用してパスワード値を暗号化する方法はありますか?

どの方法を使用しますか?

おかげ Priyank

答えて

6

短い答えを使用:SSLを使用します。

長い答え:DESのような秘密鍵暗号化アルゴリズムは、ブラウザがサーバーと秘密鍵を共有する必要があるため、Web上で使用することは現実的ではありません。安全に送信するには、何らかの形の公開鍵交換を使用する必要があります。あなたがそれを実装した後、基本的にSSLを再発明しましたが、おそらくバグがあり、不安定です。

+0

しかし、我々はすでに(私達はhttpsのようなURLがあるように://を.....)HTTP経由でSSLを実装しているし、その後もURL内のパラメータは、Firebugのポストに表示されます。 SSLは私が知っている限りプレゼンテーションとネットワークの間に位置するレイヤーであり、要求されたものがネットワークを介して提出されるとすべてが暗号化されるため、エンドユーザーは暗号化されていないデータを見ていますか? –

+0

Firebugと同様のツールは、SSLで暗号化される前に要求パラメータを取得します。ユーザーは暗号化されていないパラメータを見ることができますが、このデータを入力するユーザーであるため、実際には心配する必要はありません。 – ataylor

+0

私たちは現在のシステムでテストを行い、ユーザーはID、パスワードフィールドを見ることができ、次のシーケンシャル番号を推測することによってIDを変更でき、データベース内の他のユーザーのパスワードを正常に変更できます。 –

0

SSLを使用する方が簡単で効率的なソリューションになる可能性があります。送信する可能性のあるその他のデータは暗号化されます。作成しようとしているソリューションは、まさにSSLが設計したものです。

1
  1. 使用SSL(https)を
  2. JavaScriptを使用して、クライアント側の暗号化を使用する必要があります。クライアント側の暗号化とサーバー側の暗号化を同期させたままにすることは、おそらく価値があるよりも多くの作業です。真剣
  3. :トラストSSL

は、私が直接GSPにこのコーデックを使用することができますか?

いいえ、クライアント側でサーバーサイドコードを使用することはできません。フォームを二重暗号化することを選択した場合は、フォーム要素をエンコードする前にクライアントサイドライブラリが必要です。

実際にアプリケーションに実際に必要なものがある場合は、のjavascript暗号化オプションがあります。

+0

ヒントをありがとう、JavaScriptを使って暗号化し、grailsコントローラで復号化できるライブラリがあるかどうかを知りたいです。私は、共通のロジックを書いて自分で実装しなければならないか、上記のライブラリのいずれかを実行するか、そうでなければこの機能を提供する必要がありますか? –

関連する問題