我正在尝试解密文件。前 2 个步骤:
将文件的前 16 个字节复制到缓冲区。这是使用上述密钥之一制作的文件的 HMAC-SHA1 哈希。
在该缓冲区上使用 HMAC-SHA1 和上面的密钥来创建 RC4 密钥,即 0x10 字节。
我的代码是:
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
BinaryReader binread = new BinaryReader(File.Open(ofd.FileName, FileMode.Open));
byte[] RetailKey = { 0xE1, 0xBC, 0x15, 0x9C, 0x73, 0xB1, 0xEA, 0xE9, 0xAB, 0x31, 0x70, 0xF3, 0xAD, 0x47, 0xEB, 0xF3 };
HMACSHA1 SHA = new HMACSHA1(RetailKey); //Initalize HMAC w/ retail or development key
byte[] buffer = binread.ReadBytes(16);
buffer = SHA.ComputeHash(buffer);
MessageBox.Show(buffer.Length.ToString());
如您所见,它说缓冲区必须是 10 个字节,但消息框说它是 20 个字节。我的错误在哪里?