私は以前にこの質問が出されるのを見たことがありますが、これらのケースでは、ポスターは公開されているWebサイト上の何か(通常はURL)を暗号化することを望んでおり、その応答はほとんど「ありません」でした。ただし、私の場合、JavaScriptは非公開の内部システムに保存されるため、余裕があると思います。 JavaScriptでURLを暗号化し、c# で復号化する方法-と答えは実際には質問に答えません。
私の「JavaScript」は実際には「SuiteScript」であり、「SuiteScriptは、開発者がNetSuiteを拡張する機能を提供するJavaScriptベースのAPI」として定義されています。私の会社の従業員を除いて、誰にも隠されています(安全に隠されていると考えられています)。
私がしたいのは:
私はグーグルで検索してstackoverflowを検索しましたが、両方のテクノロジーで使用できる暗号化方法の明確な指示を提供する記事や回答は見つかりませんでした。誰かがそのような指示を持っていますか?
最も簡単な方法は、標準を実装する Stanford Javascript Crypto Library としてライブラリを使用し、C#で同じ暗号を使用することです( AesManaged
または AesCryptoServiceProvider
)。
対称的な暗号が得られますが、両方のライブラリーが機能するために設定するパラメーター(鍵)は1つだけです。
代わりに非対称(公開鍵)暗号を使用することもできます。 JavaScriptコードを入手した攻撃者は、巧妙に細工されたリクエストをサーバーに送信することはできますが、他のリクエストを傍受することはできません。
JavaScriptのRSA の実装があり、 RSACryptoServiceProvider
クラスは.Netでサポートを提供します
A 完全な例はコードプロジェクトで利用可能 パディングをサポートするためにJavaScriptライブラリにRSAへのパスを含めます(.Net実装を使用する場合は必須)
これらのソリューションは両方とも、それ自体が再生に対して脆弱です(攻撃者が文字列を傍受し、後で(場合によっては複数回)サーバーに送信します)。