Convert.FromBase64String FormatException

时间:2010-10-04 13:47:18

标签: c#-4.0 cryptography

我得到了这个Convert.FromBase64String方法的FormatException。我不介意硬编码的价值。任何人都可以解释为什么我会得到这个例外。

        // Instantiate a new RijndaelManaged object to perform string symmetric encryption
        RijndaelManaged rijndaelCipher = new RijndaelManaged();

        // Set key and IV
        rijndaelCipher.Key = Convert.FromBase64String("TASK");
        rijndaelCipher.IV = Convert.FromBase64String("0123");

谢谢。

1 个答案:

答案 0 :(得分:3)

您的字符串无效Base64。

您需要生成两个加密安全的256位随机数,将它们转换为Base64,并将它们嵌入到您的源中。

例如:

var alg = new RijndaelManaged();
alg.BlockSize = alg.KeySize = 256;
Console.WriteLine("Key: " + Convert.ToBase64String(alg.Key));
Console.WriteLine("IV:  " + Convert.ToBase64String(alg.IV));