c#怎样编写程序自定义格式的文件

我的程序有很重要的配置文件,我不想让用户我看到这些配置文件,因此我想用自定义格式编写文件,这样只有我能够读取文件里面的内容,别人用text文件打开的时候就是一些乱码?我网... 我的程序有很重要的配置文件,我不想让用户我看到这些配置文件,因此我想用自定义格式编写文件,这样只有我能够读取文件里面的内容,别人用text文件打开的时候就是一些乱码?
我网上搜索说用加密文件的方法可以乱码,如异或加密,base64加密,但是有没有不用加密的方法呢,如压缩库之类的,或自定义文件格式呢,谢谢!!!
展开
 我来答
老猿小郭
2009-03-20 · TA获得超过2763个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:576万
展开全部
如果你只是要用户用记事本打开时不能看到原始内容的话,用序列化保存就好了.这个网上的资料很多,这里就不占用地方了.
至于自定义格式,你在SaveFileDialog里用一个自己定的扩展名就好了.
celeron300a
2009-03-20 · TA获得超过146个赞
知道答主
回答量:153
采纳率:0%
帮助的人:0
展开全部
写几个类表示配置信息,然后用二进制序列化把这几个类序列化到一个文件中,可以自己随便其的扩展名。这样文件中保存的就是二进制信息。
这样其实也不保险,你要真想保密,就只有加密。可以在System.Security.Cryptography 命名空间中找个对称算法来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
定复2d
推荐于2016-05-20 · TA获得超过3196个赞
知道大有可为答主
回答量:2052
采纳率:0%
帮助的人:1931万
展开全部
一个很简单的方法
就是用对称加密 (虽然你说不用这个···但是我觉得这个很简单)
具体就用XOR来加密,这个很简单,速度也比较快
例子待会我写个看看吧···

比如这个

public static void Main()
{
string o = "12345";
byte b = 0xf0;
int length = Encoding.ASCII.GetBytes(o).Length;
byte[] temp = new byte[length];
int index=0;
foreach (byte t in Encoding.ASCII.GetBytes(o))
{
temp[index] = (byte)(b ^ t);//对字节进行异或运算
index++;
}
index = 0;
string s=Encoding.ASCII.GetString(temp);
for (int i = 0; i < temp.Length; i++)
{
temp[i] ^= b;//还原
}
string s1 = Encoding.ASCII.GetString(temp);
Console.WriteLine(s1);
}

还有一个,第三方有一个zlib的库,可以用来压缩和解压缩,你可以用用看,也很简单。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z782628762
2009-03-22
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
去百度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tec20002003
2009-03-20 · 超过14用户采纳过TA的回答
知道答主
回答量:65
采纳率:50%
帮助的人:16万
展开全部
你可以自定义一些二进制值 别人看不懂就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式