所以,当我说出类似的话:
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);
它表示它不是有效的初始化向量。
我该如何解决?
答案 0 :(得分:8)
TripleDES的块大小为64位。您正尝试设置128位。
这应该有效:
tripledes.IV = pdb.GetBytes(8);