Зашифровать содержимое файла и расшифровать его при чтении C# - PullRequest
0 голосов
/ 27 марта 2020

Я использую Entity Framework (WebAPI / C # / VS2019) и использую приведенный ниже код для сохранения файла и отображения файла.

Сохранить код

 Document document = new Document();
 var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(attachment_data);  //attachment_data is string
                    document.document_content=plainTextBytes;//document_content is  byte[]

                    db.Documents.Add(document);
                    db.SaveChanges();

Код ниже используется для отображения сохраненного файла

 [Route("api/documents/download")]
    [HttpGet]
    public HttpResponseMessage Download(int documentid)
    {
        HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
        var document = db.Documents.Where(e => e.id.Equals(documentid)).FirstOrDefault();

        if (document != null)
        {
            var stream = new System.IO.MemoryStream(document.document_content);
            result.Content = new StreamContent(stream);
            result.Content.Headers.ContentType =
                new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
            result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
            {
                FileName = document.name

            };
        }
        return result;
    }

Сохранение файла и загрузка файла работает нормально. Вопрос в том, как зашифровать содержимое файла перед сохранением в базу данных? Я видел несколько SO-ссылок , но большинство методов принимают строку как ввод и строку как вывод. Не уверен, какой из них подойдет в этом сценарии.

...