美文网首页
AES的c#实现

AES的c#实现

作者: bettyxue | 来源:发表于2020-08-04 16:15 被阅读0次

public static byte[] AES_Encrypt128(byte[] bytesToBeEncrypted, byte[] passwordBytes)

        {

            byte[] key = new byte[16];

            if(passwordBytes.Length>16)

            {

                Array.Copy(passwordBytes, 0, key, 0, 16);

            }

            else

            {

                key = passwordBytes;

            }

            byte[] encryptedBytes = null;

            using (MemoryStream ms = new MemoryStream())

            {

                using (RijndaelManaged AES = new RijndaelManaged())

                {

                    AES.KeySize = 128;

                    AES.BlockSize = 128;

                    AES.Padding = PaddingMode.None;//如果不是None, 会自动添加一个Block

                    AES.Mode = CipherMode.ECB;

                    AES.Key = key;

                    using (CryptoStream cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))

                    {

                        cs.Write(bytesToBeEncrypted, 0, bytesToBeEncrypted.Length);

                        cs.Close();

                    }

                    encryptedBytes = ms.ToArray();

                }

            }

            return encryptedBytes;

        }

相关文章

网友评论

      本文标题:AES的c#实现

      本文链接:https://www.haomeiwen.com/subject/xjuwrktx.html