示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
 public static bool CheckHeaderIsEncrypt(byte[] datas)
 {
     return(datas != null && FileHeaderUtil.CheckHeaderIsEncrypt(new MemoryStream(datas)));
 }