指定的密钥不是这个算法有效的大小 [英] Specified key is not a valid size for this algorithm

查看:4181
本文介绍了指定的密钥不是这个算法有效的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个code:

RijndaelManaged rijndaelCipher = new RijndaelManaged();

            // Set key and IV
            rijndaelCipher.Key = Convert.FromBase64String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678912");
            rijndaelCipher.IV = Convert.FromBase64String("1234567890123456789012345678901234567890123456789012345678901234");

我得到抛出:

Specified key is not a valid size for this algorithm.

Specified initialization vector (IV) does not match the block size for this algorithm.

有什么不对的字符串?我可以在一些例子弦数从你?

What's wrong with this strings ? Can I count at some examples strings from You ?

推荐答案

字符串ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678912时的base64德codeD产生48个字节(384位)。 RijndaelManaged的支持128,192和256位密钥。

The string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678912" when base64-decoded yields 48 bytes (384 bits). RijndaelManaged supports 128, 192 and 256 bit keys.

一个有效的128位密钥是新的byte [] {0×00,0×01,0×02,×03,0×04,0×05,0×06,0×07,0×08,×09,的0x0A,0x0B中,的0x0C,0X0D,为0x0E ,为0x0F} 或者如果你需要从BASE64得到它: Convert.FromBase64String(AAECAwQFBgcICQoLDA0ODw ==)

A valid 128-bit key is new byte[]{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F } or if you need to get it from base64 : Convert.FromBase64String("AAECAwQFBgcICQoLDA0ODw==").

默认块大小是128位,因此相同的字节数组将工作作为IV。

The default blocksize is 128 bits, so the same byte-array will work as the IV.

这篇关于指定的密钥不是这个算法有效的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆