1

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 で復号化する方法です。
ありがとうございました

4

0 に答える 0