Webアプリを開発していますが、暗号化されたサーバー(.net C#)の文字列と比較するために、JavaScriptで文字列を暗号化する必要があります。
クライアントの暗号化された文字列をjavascriptと比較するために、この方法でこれを行う必要があります。
クライアントとサーバーで同じ方法で文字列を暗号化し、同じ暗号化文字列を取得するにはどうすればよいですか?
Webアプリを開発していますが、暗号化されたサーバー(.net C#)の文字列と比較するために、JavaScriptで文字列を暗号化する必要があります。
クライアントの暗号化された文字列をjavascriptと比較するために、この方法でこれを行う必要があります。
クライアントとサーバーで同じ方法で文字列を暗号化し、同じ暗号化文字列を取得するにはどうすればよいですか?
まず、クライアント側の Javascript は暗号化機能にアクセスする必要がありますが、おそらく復号化機能にはアクセスする必要がないため (そうでなければ、なぜ暗号化するのでしょうか?)、非対称暗号化アルゴリズムを使用する必要があります。RSAのようなもの。または、一方向関数である暗号化ハッシュを使用することもできます。あなたが達成しようとしていることについていくつかのコンテキストを教えていただければ役立つかもしれませんが、これまでの説明から、JavaScript の SHA-2 ファミリーの 1 つである System.Cryptography 名前空間のようなハッシュ アルゴリズムの実装を探すことをお勧めします。 C# には既にこれらがあります。
クライアント側である種のセキュリティを実装している場合は、注意してください。たとえば、パスワードハッシュをサーバー上のものと比較しようとしていて、クライアント側で比較を行う場合、悪意のあるユーザーはデバッガーをアタッチしてロジックをバイパスすることができます....
私は Ajax を使用し、サーバー側から RSA 暗号化を使用します。そうすれば、両方に同じコードを使用できます。
ただし、本物の JavaScript RSA 暗号化が必要な場合は、このライブラリを使用できます:
Cryptico.js
サーバー側の C# コードについては、次のサイトを参照してください:
C# RSA Example