Esempio n. 1
0
        public static byte[] DecryptAes(this byte[] @this)
        {
            var data = @this.FastClone();

            using (var aes = new RijndaelManaged())
            {
                aes.Mode      = CipherMode.CFB;
                aes.Padding   = PaddingMode.None;
                aes.KeySize   = 192;
                aes.BlockSize = 128;
                aes.GenerateKeys(data.Length);

                var blockSize  = aes.BlockSize / 8;
                var needChange = data.Length % blockSize != 0;
                var diff       = blockSize - data.Length % blockSize;
                if (needChange)
                {
                    Array.Resize(ref data, data.Length + diff);
                }

                data = aes.Decrypt(data);

                if (needChange)
                {
                    Array.Resize(ref data, data.Length - diff);
                }
                return(data);
            }
        }
Esempio n. 2
0
        public static byte[] EncryptAES(byte[] data)
        {
            using (var aes = new RijndaelManaged())
            {
                aes.Mode      = CipherMode.CFB;
                aes.Padding   = PaddingMode.Zeros;
                aes.KeySize   = 192;
                aes.BlockSize = 128;

                Array.Resize(ref data, data.Length + 16 - data.Length % 16);
                aes.GenerateKeys(data.Length);
                return(aes.Encrypt(data));
            }
        }