Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 客户端AES解密_Java_Gwt_Cryptography_Aes - Fatal编程技术网

Java 客户端AES解密

Java 客户端AES解密,java,gwt,cryptography,aes,Java,Gwt,Cryptography,Aes,我已经在服务器端使用AES加密了会话id,但无法在客户端解密加密的会话id,因为没有为GWT定义任何AES库来支持java中的AES解密。 服务器端AES加密的代码段为: public static String encrypt(String sessionId) { try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); String key = "Abcdefg

我已经在服务器端使用AES加密了会话id,但无法在客户端解密加密的会话id,因为没有为GWT定义任何AES库来支持java中的AES解密。 服务器端AES加密的代码段为:

    public static String encrypt(String sessionId)
{
    try
    {
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        String key = "Abcdefghijklmnop";

        final SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), "AES");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey);
        final String encryptedSessionId = Base64.encodeBase64String(cipher.doFinal(sessionId.getBytes()));
        return encryptedSessionId;
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    return null;

}
对于解密,我正在尝试使用此链接中提供的代码:

但这不起作用。请提供任何解决方案,如果有


我在DES中尝试过加密和解密,但我需要使用AES。

AES在GWT的客户端不受支持,但您可以使用TripleDES。TripleDES也是非常安全的实现

这是另一个类似的例子

以下是GWT加密的已知问题列表


请参阅#第1期-Java AES Decryptor无法解密AES加密内容,反之亦然

加密会话id的目的是什么?您显示的此代码段会生成不可加密的密文,因为IV未保存。IV不是秘密,所以你可以把它和密文一起发送。通常,它只是在密文前面加上前缀,然后在解密之前切掉。如果只使用对称加密,则服务器和客户端需要完全相同的密钥。如果将加密密钥从服务器发送到客户端,或者以其他方式发送,则需要加密对称加密密钥。最简单的方法是使用TLS。如果您使用TLS,那么数据和密钥都是加密的,所以您不需要自己加密。这并没有提供任何安全性,只是有点模糊。您应该阅读:好的,我将尝试使用IV,但问题是,在客户端,即将出现的错误是:无法读取undefinedcom.google.gwt.core.client.JavaScriptException的属性'AES':(TypeError):无法读取undefined的属性'AES'。在问题中,我强调我已经实现了DES方法。由于需要,需要使用AES实施。