-4

JavaScriptで双方向暗号化を行う方法はありますか?

4

4 に答える 4

9

ハッシュ値ではなく、プレーンなパスワード テキストをデータベースに保存します。

そうしないでください。人々はあなたのパスワードを信頼しています。それらを保護するのはあなたの責任です。

サーバーに送信する前にパスワードを暗号化したいのですが、サーバーは C# を使用して暗号化を解除し、プレーン テキストに戻すことができます。私のケースに適したJavaScript暗号化を知っている人はいますか?

なし。ブラウザとサーバー間で転送されるデータを保護するのに適した唯一のシステムは SSL です。HTTPS スキームを使用します。

于 2012-11-16T12:19:20.000 に答える
0

ユーザーのパスワードをプレーンな形式で保存するのは悪い考えだという Quentin の意見に同意します。

安全なデータ暗号化のために、RSA などの非対称暗号化アルゴリズムを使用できます。公開鍵は JavaScript 側に保存され、C# サーバーには、受信した暗号文を RSA を使用して復号化するための秘密鍵があります。

于 2012-11-16T12:23:02.803 に答える
0

サーバーがパスワードを平文に復号化できる場合、悪者も復号化できます。

パスワードをプレーンテキストとしてサーバーに送信してから、通常の形式に変換するmd5()sha1()、そのままデータベースに保存する必要があります。

次に、ユーザーがログインしたいときに、パスワード入力を暗号化し、以前に保存したものと比較します。

クライアントからサーバーへのデータ転送を保護する場合は、https を使用してデータが傍受されないようにする必要があります。

幸運を

于 2012-11-16T12:23:08.903 に答える
-1

私の個人的な意見では、Javascriptを使用して暗号化する最良の方法は、SHA-1を使用することです。最悪のMD5は使用しないでください(復号化が簡単すぎます)。このライブラリを使用できます:http://pajhome.org.uk/crypt/md5/sha1.html

そしてそれをこのように使用します:

var encrypted_password = hex_sha512(plain_password);

Javascriptの欠点は、パスワードソルト(http://en.wikipedia.org/wiki/Salt_(cryptography))を追加しても、誰もが誰でも(そうでなければ、パスワードを暗号化できません)。

最も安全なのは、この特定の理由でHTTPSを使用したサーバー側での暗号化です。そうでない場合、このライブラリは非常に簡単に機能します。

于 2012-11-16T12:51:45.823 に答える