Member 12802822 Ответов: 1

Сжатие и шифрование документа и sotring pswd в C#


Привет.. Мне нужно заархивировать и зашифровать файл и сохранить его в БД..я также должен иметь возможность получить файл (зашифрованный и в заархивированном формате) и отправить по почте вместе с pswd...Plz помогите с кодом

Что я уже пробовал:

возможность шифрования, но не возможность извлечения в зашифрованном формате

Wendelius

Что это за штука, с которой ты застрял? Пожалуйста, опубликуйте любой соответствующий код.

Кроме того, какой смысл отправлять зашифрованный файл по электронной почте с паролем?

[no name]

Никто здесь не собирается писать ваш код за вас.

1 Ответов

Рейтинг:
0

OriginalGriff

Как только данные зашифрованы, это просто двоичные данные, поэтому их хранение и извлечение точно так же, как и для любых других данных на основе байтового массива.
Так что хранить его тривиально:

byte[] data = myEncryptedStream.ToArray();
using (SqlConnection con = new SqlConnection(strConnect))
    {
    con.Open();
    using (SqlCommand com = new SqlCommand("INSERT INTO MyTable (EncryptedColumn) VALUES (@ED)", con))
        {
        com.Parameters.AddWithValue("@ED", data);
        com.ExecuteNonQuery();
        }
    }

Так же как и его извлечение:
using (SqlConnection con = DBAccess.DBCon)
    {
    using (SqlCommand cmd = new SqlCommand("SELECT EncryptedColumn FROM MyTable WHERE Id=@ID", con))
        {
        cmd.Parameters.AddWithValue("@ID", Id);
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.Read())
            {
            byte[] data = (byte[])reader["EncryptedColumn"];
            using (MemoryStream stream = new MemoryStream(bytes))
                {
                // Stream ready to be passed to decryption.
                ...
                }
            }
        }
    }