C# AES에서 복호화할 데이터의 길이가 잘못되었습니다.

1758 단어
암호화 방식 AES-CBC-128
복호화 방법을 다음과 같이 바꾸다
public  string Decrypt(string toDecrypt, string key)
{
            if (string.IsNullOrEmpty(toDecrypt)) return null;
            Byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

            System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
            {
                Key = Encoding.UTF8.GetBytes(key),
                IV=Encoding.UTF8.GetBytes(key),
                Mode = System.Security.Cryptography.CipherMode.CBC,
                Padding = System.Security.Cryptography.PaddingMode.PKCS7
            };

            System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
            Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return Encoding.UTF8.GetString(resultArray);
}

 
전재 대상:https://www.cnblogs.com/siyunianhua/p/8277263.html

좋은 웹페이지 즐겨찾기