Я пытаюсь расшифровать некоторые тексты и получить эту ошибку. Я много сделал google и читал статьи. Есть много людей с одинаковой ошибкой, но я не могу решить мою проблему.Указанный вектор инициализации (IV) не соответствует размеру блока для этого алгоритма
Ниже приведен пример кода, и вы можете видеть IV, который я использую.
IV изготовлен AS3crypto. вы можете увидеть демо в this page. вы можете увидеть на вкладке Secret Key. Моя настройка - AES, CBC.
Т.е. я не могу изменить IV, и я считаю, что IV является допустимым.
Я думаю, что проблема заключается в том, как я устанавливаю IV в .Net, что неправильно.
Любые мысли ребята?
Заранее спасибо.
Using aesAlg As New AesCryptoServiceProvider
Dim IV_COMPONENT As Byte() = Convert.FromBase64String("a462114bca101105db976158381a4d05")
//Dim IV_COMPONENT As Byte() = Encoding.ASCII.GetBytes("a462114bca101105db976158381a4d05")
aesAlg.IV = IV_COMPONENT
aesAlg.Mode = CipherMode.CBC
' Create a decrytor to perform the stream transform.
Dim decryptor As ICryptoTransform = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV)
Using msDecrypt As New MemoryStream(cipherText)
Using csDecrypt As New CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)
Using srDecrypt As New StreamReader(csDecrypt)
plaintext = srDecrypt.ReadToEnd()
End Using
End Using
End Using
End Using