私は、いくつかのメソッドといくつかの静的変数を持つ Java のクラス、たとえば A を持っています。
Android で WebView ベースのアプリケーションを構築しています。addJavascriptInterface メソッドを使用して、クラス A のインスタンスを挿入しました。(アプリは実際にPhonegapを使用しています)
渡された公開鍵 K(n, e) を使用して RSA 暗号化を実行する Javascript 関数があります。
encryptString(n, e);
「n」は、次のように呼び出されるクラス A のメソッドによって返されます。
var keyn = window.A.load("publicKey");
これは私が問題を抱えているところです。'n' を文字列として渡し、'e' = "10001" も文字列として渡すと、暗号化はうまく機能します。しかし、メソッドから受け取ったkeynを渡すと、うまくいきません。
encryptString("42342abcdefg2232", "10001"); // Works
encryptString(keyn, "10001"); // Doesn't work :(
keyn を logcat に記録したところ、変数 keyn で値が正しく受信されていることがわかります。
それでは何が問題なのですか?
PS: 2 つの異なる RSA 暗号化ライブラリを試しましたが、両方で同じ問題が発生しました。したがって、おそらく私が使用している暗号化コードの問題ではありません。