Decryption at client side using java

独自空忆成欢 提交于 2019-12-06 13:47:13

问题


I encypted the session Id at server side but when I am trying to decrypt the session id at client side some error is coming. please can anyone help resolving the error.

public static String decrypt(String sessionId)
{
    try
    {
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
        final SecretKeySpec secretKey = new SecretKeySpec(key, "AES");
        cipher.init(Cipher.DECRYPT_MODE, secretKey);
        final String decryptedSessionId = new String(cipher.doFinal(Base64.decodeBase64(sessionId)));
        return decryptedSessionId;
    }
    catch (Exception e)
    {
        e.printStackTrace();

    }
    return null;
}

The error that is coming is : Class 'javax.crypto.Cipher' is not present in JRE Emulation Library so it cannot be used in client code of "some" GWT module.

This inspection reports usages in client code of JDK classes which is not present in JRE Emulation Library.

The method for encryption that I used is :

    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;

}

I am new to this stuff please help me resolving the errors


回答1:


Well, you cannot use java standard encryption library in GWT coding on client side. It's not supported.

Use gwt-crypto to encrypt/decrypt the necessary stuff.

AES is not be supported on client side for GWT in GWT-crypto, but you can use TripleDES. TripleDES is also very much secure implementation.



来源:https://stackoverflow.com/questions/45737528/decryption-at-client-side-using-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!