Ладно, ребята, пришло время задать давний вопрос, как вы защищаете паролем XML-файл с помощью C #?Я также создал файл в C # (не так, как если бы это было актуально), и теперь мне нужно защитить его паролем, чтобы я мог отправить его по электронной почте клиентам, любые предложения, ребята,
Также я попытался поставитьXML-файл в zip-файл, используя C #, и после этого файл теряет свое расширение, и он делает это с каждым найденным мною методом, поэтому мне бы очень хотелось защитить исходный файл паролем.
Я должен был быть более ясным в этом, файл теряет свое расширение навсегда, когда конечный пользователь разархивирует его, это больше не файл XML, это просто файл с именем, без ассоциации или любой другой вещи
Хорошо, изменив это немного, было отмечено, что xml не защищен паролем, потому что это просто текст, а не проблема, поэтому давайте изменим это, как насчет ziping этого
FileStream sourceFile = File.OpenRead(@"C:\sample.xml");
FileStream destFile = File.Create(@"C:\sample.zip");
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);
try
{
int theByte = sourceFile.ReadByte();
while (theByte != -1)
{
compStream.WriteByte((byte)theByte);
theByte = sourceFile.ReadByte();
}
}
finally
{
compStream.Dispose();
}
thisПриведенный выше код архивирует файл, но когда файл распаковывается конечным пользователем, файл теряет расширение XML и вместе с ним ассоциируется файл
хорошо, у меня естьpdate Я выяснил, как сохранить файл от потери его расширения, если я изменил имя выходного файла на sample.xml.zip, система справилась бы с этим хорошо, при условии, что выходной файл выходит с чтением, подобным этому, sample.xml.zip, но winzip никогда не смущается по поводу его открытия, равно как и 7zip, так что я совершенно доволен этим, теперь защищенный паролем объект - это то, что я еще не выяснил.
просто для справки, мой новый код.
FileStream sourceFile = File.OpenRead(@"C:\sample.xml");
FileStream destFile = File.Create(@"C:\sample.xml.zip");
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);
try
{
int theByte = sourceFile.ReadByte();
while (theByte != -1)
{
compStream.WriteByte((byte)theByte);
theByte = sourceFile.ReadByte();
}
}
finally
{
compStream.Dispose();
}