JSEncrypt在客户端加密并在服务器上解密

时间:2015-06-17 05:43:41

标签: encryption certificate javascript

我正在使用JSEncrypt加密客户端上的用户密码并发送到服务器进行解密。 我从服务器获取公钥,我使用Javascript在客户端上构建RSA密钥:

var leafCert = new X509();
leafCert.readCertPEM(publicCertificate);

在我的加密方法

var encryptKey = new JSEncrypt();
var encryptedValue = serverPublicKey.encrypt(inputStr)
return String(inputStr)

在我解密的服务器上,我看到垃圾邮件。我的服务器端代码:

public String decryptString(String encryptedVal, String sessionId)
{

    String sResult="";
    try
    {

        PrivateKey pvtKey = getPrivateKeyFromSession(sessionId);
        Cipher pkCipher=null;

        pkCipher = Cipher.getInstance("RSA/None/NoPadding", "BC");
        pkCipher.init(Cipher.DECRYPT_MODE, pvtKey);
        Base64 encoder = Base64.getInstance();          
        byte[] decodedValue = encoder.decode(encryptedVal);
        byte[] deCryptedBytes =pkCipher.doFinal( decodedValue );
        sResult = new String(deCryptedBytes);
    }           
    catch(Exception ex){log.error("Error decryptString" + ex.getMessage()); }
    return sResult.trim();
}
你可以告诉我哪里出错了吗?我没有在服务器上看到实际解密的消息。

0 个答案:

没有答案