客户端的AES解密

时间:2017-08-21 11:24:40

标签: 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 = "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;

}

对于解密,我正在尝试使用此链接中提供的代码: http://reassess.blogspot.in/2009/07/gwt-and-aes-decryption.html

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

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

1 个答案:

答案 0 :(得分:0)

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

这是另一个类似的question

以下是GWT-crypto的已知问题列表。

https://code.google.com/archive/p/gwt-crypto/issues

请参阅#1问题 - AES加密内容无法由Java AES Decryptor&副Versa