JCrytion 3.0.1 を使用して javascript でデータを暗号化し、Java によってサーバー上で復号化しようとしています。私の質問は、処理に Byte[] を必要とする Cipher クラスを使用して、Java で暗号化された文字列を復号化する方法です。
これは、Javaからキーを生成する方法です
final KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024);
final KeyPair key = keyGen.generateKeyPair();
そして、私が使用したデータを復号化するために
public String decrypt(byte[] text, PrivateKey key) {
byte[] dectyptedText = null;
try {
final Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, key);
dectyptedText = cipher.doFinal(text); // this is where I get error when trying to use getBytes() to convert encrypted string to byte[]
} catch (Exception ex) {
ex.printStackTrace();
}
return new String(dectyptedText);
}
これはクライアント側の私のjavascriptです
var encryptedUser = $.jCryption.encrypt(username, keys);
var encryptedPassword = $.jCryption.encrypt(password, keys);
alert("Start Submiting");
$.ajax({
url: "LoginAuthentication",
data:{username:encryptedUser, password:encryptedPassword},
type:'POST'
}).done(function(){
alert("Successfully Access !!!");
});
getBytes() を使用しようとしましたが、機能しません
。テストした他のテキストではうまく機能します。私の唯一の問題は、暗号化された文字列を JCryption を使用して javascript から byte[] に変換し、Java で復号化する方法です。
ありがとうございました