У меня проблема с генерацией ключа AES в C # - PullRequest
0 голосов
/ 20 октября 2019

Я генерирую ключ

myRijndaelManaged.GenerateIV (); myRijndaelManaged.GenerateKey ();

в классе

public string EncryptText(string plainText)
    {
        using (myRijndael = new RijndaelManaged())
        {

            RijndaelManaged myRijndaelManaged = new RijndaelManaged();
            myRijndaelManaged.Mode = CipherMode.CBC;
            myRijndaelManaged.Padding = PaddingMode.PKCS7;
            myRijndaelManaged.GenerateIV();
            myRijndaelManaged.GenerateKey();      
            string newKey = ByteArrayToHexString(myRijndaelManaged.Key);
            string newinitVector = ByteArrayToHexString(myRijndaelManaged.IV);
            byte[] encrypted = EncryptStringToBytes(plainText, myRijndael.Key, myRijndael.IV);
            string encString = Convert.ToBase64String(encrypted);
            return encString;
        }
    }

Как дать те же ключи в классе

 public string DecryptText(string encryptedString)  
    {  
        using (myRijndael = new RijndaelManaged())  
        {
            RijndaelManaged myRijndaelManaged = new RijndaelManaged();
            myRijndael.Key = myRijndaelManaged.Key;
            myRijndael.IV = myRijndaelManaged.IV;
            myRijndael.Mode = CipherMode.CBC;  
            myRijndael.Padding = PaddingMode.PKCS7;  

            Byte[] ourEnc = Convert.FromBase64String(encryptedString);  
            string ourDec = DecryptStringFromBytes(ourEnc, myRijndael.Key, myRijndael.IV);  

            return ourDec;  
        }  
    }  

У меня проблема с System.Security.Cryptography.CryptographicException: «Заполнение недопустимо и не может быть удалено».

...