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