コード例 #1
0
 public static Byte[] Encrypt(Byte[] bytesToBeEncrypted)
 {
     Byte[] array  = AESCryptography.GetPassword();
     Byte[] result = null;
     Byte[] salt   = AESCryptography.GetSalt();
     using (MemoryStream memoryStream = new MemoryStream())
     {
         using (RijndaelManaged rijndaelManaged = new RijndaelManaged())
         {
             rijndaelManaged.KeySize   = 256;
             rijndaelManaged.BlockSize = 128;
             Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(array, salt, 1000);
             rijndaelManaged.Key  = rfc2898DeriveBytes.GetBytes(rijndaelManaged.KeySize / 8);
             rijndaelManaged.IV   = rfc2898DeriveBytes.GetBytes(rijndaelManaged.BlockSize / 8);
             rijndaelManaged.Mode = CipherMode.CBC;
             using (CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndaelManaged.CreateEncryptor(), CryptoStreamMode.Write))
             {
                 cryptoStream.Write(bytesToBeEncrypted, 0, (Int32)bytesToBeEncrypted.Length);
                 cryptoStream.Close();
             }
             result = memoryStream.ToArray();
         }
     }
     return(result);
 }