Sto lavorando su un metodo di crittografia di base. Sto usando RijndaelManaged. Ho ricevuto questo codice da qualche parte molto tempo fa, ma non ricordo dove.Il vettore di inizializzazione specificato (IV) non corrisponde alla dimensione del blocco per questo algoritmo
Ho avuto il mio codice in funzione prima, ma qualcosa è cambiato e non riesco a capirlo.
Quando eseguo il mio codice, ottengo il seguente errore;
specificato vettore di inizializzazione (IV) non corrisponde alla dimensione del blocco per questo algoritmo.
Ecco il mio codice:
string textToEncrypt = "TEST STRING";
int keySize = 256;
string hashAlgorithm = "SHA1";
string passPhrase = "AH!PSB0%FGHR$";
string saltValue = "LRT%YUR#[email protected]";
string initVector = "HR$2pIjHR$2pIj";
byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector);
byte[] saltValueBytes = Encoding.ASCII.GetBytes(saltValue);
byte[] plainTextBytes = Encoding.UTF8.GetBytes(textToEncrypt);
PasswordDeriveBytes password = new PasswordDeriveBytes(passPhrase, saltValueBytes, hashAlgorithm, 2);
byte[] keyBytes = password.GetBytes(keySize/8);
RijndaelManaged symmetricKey = new RijndaelManaged();
symmetricKey.Mode = CipherMode.CBC;
ICryptoTransform encryptor = symmetricKey.CreateEncryptor(keyBytes,initVectorBytes);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream,encryptor,CryptoStreamMode.Write);
cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length);
cryptoStream.FlushFinalBlock();
byte[] cipherTextBytes = memoryStream.ToArray();
memoryStream.Close();
cryptoStream.Close();
string cipherText = Convert.ToBase64String(cipherTextBytes);
Qualsiasi aiuto sarà apprezzato.
Oh mio, è successo! Grazie mille per l'aiuto. –