У меня сейчас проблема с заполнением при расшифровке строки в кодировке utf8.
длина строки не кратна 16, я использую режим заполнения PKCS7
Конечно, я использую *Оператор 1005 *
cs.FlushFinalBlock()
.
Что означает, что после дешифрования поток не будет удерживать последний блок.но когда не используется режим заполнения, только во время дешифрования, там последний блок (с байтами заполнения)
я понятия не имею, что не так; *
здесь немного кода (vb.net im sry:D)
шифрование
Dim rawPlaintext As Byte() = utf8.GetBytes(text)
aes.Padding = PaddingMode.PKCS7
Using ms As New MemoryStream()
Using cs As New CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write)
cs.Write(rawPlaintext, 0, rawPlaintext.Length)
cs.FlushFinalBlock()
ms.Position = 0
End Using
Return ms
End Using
дешифрование
aes.Padding = PaddingMode.PKCS7
Using ms As New MemoryStream()
Using cs As New CryptoStream(ms, aes.CreateDecryptor(key, iv),
CryptoStreamMode.Write)
ciphertext.CopyTo(cs)
ciphertext.Close()
ms.Position = 0
End Using
Return ms
End Using
надеюсь, ребята, вы можете помочь;)
спасибо