将文件和字符串编码为二进制文件C#
什么是使用BinaryWriter将信息编码为二进制文件的方式。没有人能够看到这些信息。将文件和字符串编码为二进制文件C#
我正在创建的需要能够加载二进制文件(&使用BinaryReader读取它)并解释数据。
因此,例如,我有一组指令,像
op1
op2 variable
op3
op4 string "Hello World"
我怎样才能把那个和其他文件转换成二进制文件,而无需任何人看到的数据。
取决于您需要它的安全程度。
我使用拉链流只是为了波落古玩旁观者....
编辑:用于XML的文件
public void save(String filename)
{
XmlSerializer s = new XmlSerializer(this.GetType());
MemoryStream w = new MemoryStream(4096);
TextWriter textWriter = new StreamWriter(w);
s.Serialize(textWriter, this);
FileStream f = new FileStream(filename, FileMode.CreateNew);
DeflateStream zipStream = new DeflateStream(f, CompressionMode.Compress);
byte[] buffer = w.GetBuffer();
zipStream.Write(buffer, 0, buffer.Length);
zipStream.Close();
textWriter.Close();
w.Close();
f.Close();
}
HTH
马里奥
按照我希望的方式工作:D谢谢 – Steven
欢迎您! –
使用序列化(BinaryFormatter
类),您的数据不会是人类可读的(尽管它不是很强的保护级别);或使用加密(CryptoStream
类)。
您将需要执行几个步骤。首先,保存二进制文件,这听起来像你有处理。文件写入磁盘后,您需要对其进行加密。检查answer to this question的说明。打开文件时,您会先解密它,然后使用BinaryReader填充您的应用程序状态。
你可能想看看字符串加密和解密:http://stackoverflow.com/questions/202011/encrypt-decrypt-string-in-net。 –
你的目标是保持数据的秘密吗?如果是这样,那么你需要加密它。二进制只是一种旨在快速高效地加载/保存对象的格式,但它不会保护数据,因为任何人都可以创建读取数据的工具。如果你需要保密数据,那么你也需要加密。 – AaronLS
你的问题不清楚。通过'编码'文件来达到什么目的?你需要存储什么样的信息?你是否希望隐藏文件,或者你不希望文件以纯文本的形式被读取?你如何解释数据?你是否存储你想要执行的代码? –