public File GetFile(string fileUId, bool includeData = true)
        {
            IQueryable <File> file = _context.Files;

            if (includeData)
            {
                file = _context.Files.Include("Data");
            }

            var f = file.SingleOrDefault(x => x.FileUId == fileUId);

            if (EncryptFiles && f.Data != null)
            {
                var crypt = new CryptUtil(Settings);
                if (f.Data.StoredData != null)
                {
                    f.Data.StoredData = crypt.DecryptBytes(f.Data.StoredData);
                }

                if (f.Data.StoredThumbData != null)
                {
                    f.Data.StoredThumbData = crypt.DecryptBytes(f.Data.StoredThumbData);
                }
            }

            return(f);
        }
        public File GetFile(string fileUId, bool includeData = true)
        {
            using (var context = new Data.CMSContext()) {
                IQueryable <File> file = context.Files;

                if (includeData)
                {
                    file = context.Files.Include("Data");
                }

                var f = file.SingleOrDefault(x => x.FileUId == fileUId);

                if (EncryptFiles && f.Data != null)
                {
                    if (f.Data.StoredData != null)
                    {
                        f.Data.StoredData = CryptUtil.DecryptBytes(f.Data.StoredData);
                    }

                    if (f.Data.StoredThumbData != null)
                    {
                        f.Data.StoredThumbData = CryptUtil.DecryptBytes(f.Data.StoredThumbData);
                    }
                }

                return(f);
            }
        }
Exemple #3
0
        public void DirectEncrypt()
        {
            var plainText = Encoding.UTF8.GetBytes("Hello world");
            var iv        = SomeBytes(16);
            var key       = SomeBytes(32);
            var encrypted = CryptUtil.EncryptBytes(key, iv, plainText);
            var decrypted = CryptUtil.DecryptBytes(key, iv, encrypted);

            Check.That(decrypted).Equals(plainText);
        }
        public File GetFileThumb(string fileUId)
        {
            using (var context = new Data.CMSContext()) {
                var f         = context.Files.Where(x => x.FileUId == fileUId).SingleOrDefault();
                var thumbData = context.FileData.Where(x => x.FileUId == fileUId).Select(x => new { bytes = x.StoredThumbData }).SingleOrDefault();

                f.Data = new FileData()
                {
                    FileUId = f.FileUId, StoredThumbData = thumbData.bytes
                };

                if (EncryptFiles && f.Data != null && f.Data.StoredThumbData != null)
                {
                    f.Data.StoredThumbData = CryptUtil.DecryptBytes(f.Data.StoredThumbData);
                }

                return(f);
            }
        }
        public File GetFileThumb(string fileUId)
        {
            var f         = _context.Files.Where(x => x.FileUId == fileUId).SingleOrDefault();
            var thumbData = _context.FileData.Where(x => x.FileUId == fileUId).Select(x => new { bytes = x.StoredThumbData }).SingleOrDefault();

            if (thumbData != null)
            {
                f.Data = new FileData()
                {
                    FileUId = f.FileUId, StoredThumbData = thumbData.bytes
                };
            }

            if (EncryptFiles && f.Data != null && f.Data.StoredThumbData != null)
            {
                var crypt = new CryptUtil(Settings);
                f.Data.StoredThumbData = crypt.DecryptBytes(f.Data.StoredThumbData);
            }

            return(f);
        }