以Base64编码编写XML [英] Write XML in Base64 encoding
本文介绍了以Base64编码编写XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
关于存储数据的问题之后,有人建议我可以使用XML,然后通过使用Base64对其进行编码来混淆文件。我喜欢这个想法,并且已经实现了XML所需的功能,但是我不知道如何将其保存在Base64中。到目前为止,这是我的代码:
Following my questions about storing data, it has been suggested that I could use XML but then obfuscate the file by encoding it using Base64. I like this idea, and I have achieved what I want in XML, but I don't know how to save it in Base64. This is my code so far:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter write = XmlWriter.Create("C:\\Users\\Andy\\Desktop\\database.xml", settings);
write.WriteStartDocument();
write.WriteStartElement("Database");
write.WriteStartElement("Entry");
write.WriteAttributeString("key", "value");
write.WriteEndElement();
write.WriteEndElement();
write.Flush();
write.Close();
推荐答案
将其写入:
var sb = new StringBuilder();
var settings = new XmlWriterSettings();
//..settings
using (var writer = XmlWriter.Create(sb, settings))
{
//...
}
//http://stackoverflow.com/questions/1564718/using-stringwriter-for-xml-serialization
var encoding = new UnicodeEncoding();
string s = Convert.ToBase64String(encoding.GetBytes(sb.ToString()));
File.WriteAllText("c:\temp.txt", s);
阅读:
string readText = File.ReadAllText("c:\temp.txt");
byte[] toDecodeByte = Convert.FromBase64String(readText);
using (var stream = new MemoryStream(toDecodeByte))
{
using (XmlReader reader = XmlReader.Create(stream))
{
//.. read your xml
}
}
这篇关于以Base64编码编写XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文