public static byte[] EncryptBytes(byte[] data, bool header = true) { if (header && FileHeaderUtil.CheckHeaderIsEncrypt(data)) { return(null); } ICryptoTransform cryptoTransform = AESSecurity.aesManaged.CreateEncryptor(); MemoryStream memoryStream = new MemoryStream(); CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptoTransform, CryptoStreamMode.Write); cryptoStream.Write(data, 0, data.Length); cryptoStream.Close(); byte[] array = (!header) ? memoryStream.ToArray() : FileHeaderUtil.AddEncryptHeader(memoryStream); memoryStream.Dispose(); return(array); }
public static byte[] DecryptBytes(byte[] encryptBytes, bool header = true) { if (header && !FileHeaderUtil.CheckHeaderIsEncrypt(encryptBytes)) { return(null); } ICryptoTransform cryptoTransform = AESSecurity.aesManaged.CreateDecryptor(); byte[] result = null; using (MemoryStream memoryStream = new MemoryStream(encryptBytes)) { if (header) { BinaryReader binaryReader = FileHeaderUtil.RemoveEncryptHeaderStream <MemoryStream>(memoryStream); } result = cryptoTransform.TransformFinalBlock(encryptBytes, Convert.ToInt32(memoryStream.Position), encryptBytes.Length - Convert.ToInt32(memoryStream.Position)); } return(result); }
public static bool CheckHeaderIsEncrypt(byte[] datas) { return(datas != null && FileHeaderUtil.CheckHeaderIsEncrypt(new MemoryStream(datas))); }