TripleDES IV适用于C#?

时间:2011-06-15 20:53:40

标签: c# encryption vector initialization

所以,当我说出类似的话:

TripleDES tripledes = TripleDES.Create();
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(password, plain);
tripledes.Key = pdb.GetBytes(16);
tripledes.IV = pdb.GetBytes(16);

我收到错误。错误曾经在密钥上,但它已被修复(我认为 - 除非你发现错误)。但是,当我设置IV:

时会发生错误
tripledes.IV = pdb.GetBytes(16);

它表示它不是有效的初始化向量。

我该如何解决?

1 个答案:

答案 0 :(得分:8)

TripleDES的块大小为64位。您正尝试设置128位。

这应该有效:

tripledes.IV = pdb.GetBytes(8);