c# - 如何解决 silverlight 2/3 中缺少的加密类?

标签 c# silverlight cryptography

我正在使用我无法控制的服务器端服务做一些工作。以下代码在标准 C# 中运行良好,但在 Silverlight 2 和 3 中失败(由于缺少加密类)。

    static String DecryptString()
    {
        s = "<cipherTextHere>";

        byte[] toDecryptArray = Convert.FromBase64String(s);
        string key = "<key here>";

        byte[] keyArray = new byte[key.Length / 2];
        for (int i = 0; i < keyArray.Length; i++)
        {
            keyArray[i] = Convert.ToByte(Convert.ToInt32(key.Substring(i * 2, 2), 16));
        }

        using (var algo = new System.Security.Cryptography.AesManaged())
        {

            // The two lines below are the problem
            // as SL does not give me the option to select padding or ciphermode
            algo.Padding = PaddingMode.PKCS7;
            algo.Mode = CipherMode.ECB;

            algo.Key = keyArray;

            ICryptoTransform cTransform = algo.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(
                                 toDecryptArray, 0, toDecryptArray.Length);

            return (UTF8Encoding.UTF8.GetString(resultArray, 0, resultArray.Length));

        }
    }

我有哪些选择?

最佳答案

您可以编写自己的加密提供程序,或者您可以搜索已经解决该问题的第三方组件。

我知道 xceed 已经为 Silverlight 实现了压缩提供程序,因此压缩和加密绝对是可能的。

尝试

Cryptography Tutorial

关于c# - 如何解决 silverlight 2/3 中缺少的加密类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/941528/

相关文章:

php - 对角读取数组以进行转置密码?

c# - 我需要在 SQL 查询中转义哪些字符

c# - 检查类是否是特定泛型的子类

c# - 从隔离存储中将视频从手机传输出去

silverlight - 提交操作失败 - NotFound from RIA Services with Silverlight 4 on SubmitChanges()

c# - 未找到 VisualStateGroups?

c# - ControlDesigner 类 (C# WinForms)

wcf - 没有从客户端计算机上的 Silverlight 发送 WCF 请求

python - 是否可以使用 key 和 AES 标准解密 Base 64 文本?

c# - 如何在 Windows Phone 8 上创建此哈希