将文件和字符串编码为二进制文件C#

时间:2011-11-03 21:47:54

标签: c# binary

使用BinaryWriter将信息编码为二进制文件的方法是什么?没有任何人能够看到这些信息。

我正在创建的内容需要能够加载二进制文件(并使用BinaryReader读取它)并解释数据。

所以例如我有一套像

这样的指令
op1
op2 variable
op3
op4 string "Hello World"

如何在没有任何人看到数据的情况下将该文件和其他文件放入二进制文件中。

3 个答案:

答案 0 :(得分:2)

取决于您需要多么安全。

我正在使用压缩流来摆脱好奇的旁观者......

编辑: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

马里奥

答案 1 :(得分:1)

您需要执行几个步骤。首先,保存二进制文件,听起来你已经掌握了。将文件写入磁盘后,您将需要对其进行加密。查看answer to this question以获取相关说明。打开文件时,您将首先解密它,然后使用BinaryReader填充您的应用程序状态。

答案 2 :(得分:0)

使用序列化(BinaryFormatter类),您的数据将不具备人类可读性(尽管它不具备强大的保护级别);或使用加密(CryptoStream类)。