如何在客户端使用jsencryption进行加密并在.NET中解密

时间:2014-12-03 23:45:33

标签: javascript c# encryption cryptography

我正在尝试在客户端使用http://travistidwell.com/jsencrypt/index.html来加密值。

所以我使用该工具生成公钥/私钥,然后将其转换为.NET与此实用程序一起使用的XML文件。 https://superdry.apphb.com/tools/online-rsa-key-converter

但是当我尝试解密示例文本时,我没有得到相同的结果。

如何复制: 转到:http://travistidwell.com/jsencrypt/demo/index.html 复制私钥和公钥 复制测试字符串 单击加密并复制生成的加密字符串

转到:http://travistidwell.com/jsencrypt/demo/index.html 使用PEM到XML选项, 使用私钥生成PEM

将PEM保存到文件或剪贴板。

以下是尝试解密加密值的.NET代码:

        // Select target CSP
        var cspParams = new CspParameters();
        cspParams.ProviderType = 1; // PROV_RSA_FULL 
        var rsaProvider = new RSACryptoServiceProvider(cspParams);

        var privateKeyText = "<replace this with the private key PEM>";
        // Import private/public key pair
        rsaProvider.FromXmlString(privateKeyText);

        var encryptedBytes = Convert.FromBase64String("<replace this with the encrypted string>");

        // Decrypt text
        var plainBytes = rsaProvider.Decrypt(encryptedBytes, false);

        // Write decrypted text to file
        var plainText = Encoding.Unicode.GetString(plainBytes);

        // the plainText value does not equal the test value!!!!!

我不确定我做错了什么,或者我可能会遗漏一些东西。任何帮助将不胜感激。

0 个答案:

没有答案