我已使用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。
答案 0 :(得分:0)
GWT的客户端不支持AES,但您可以使用TripleDES。 TripleDES也是非常安全的实现。
这是另一个类似的question
以下是GWT-crypto的已知问题列表。
https://code.google.com/archive/p/gwt-crypto/issues
请参阅#1问题 - AES加密内容无法由Java AES Decryptor&副Versa