我在服务器端加密了会话ID,但是当我尝试在客户端解密会话ID时,会出现一些错误。请任何人都可以帮助解决错误。
public static String encrypt(String sessionId)
{
try
{
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
final SecretKeySpec secretKey = new SecretKeySpec(key, "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;
}
即将发生的错误是: Class' javax.crypto.Cipher'在JRE仿真库中不存在,因此它不能用于"某些"的客户端代码中。 GWT模块。
此检查报告JDK类的客户端代码中的用法,这在JRE仿真库中不存在。
我使用的加密方法是:
viewDidAppear
我是新手,请帮我解决错误
答案 0 :(得分:1)
嗯,你不能在客户端的GWT编码中使用java标准加密库。它不受支持。
使用gwt-crypto加密/解密必要的内容。
GWT-crypto中GWT的客户端不支持AES,但您可以使用TripleDES。 TripleDES也是非常安全的实现。