c#怎样编写程序自定义格式的文件
我的程序有很重要的配置文件,我不想让用户我看到这些配置文件,因此我想用自定义格式编写文件,这样只有我能够读取文件里面的内容,别人用text文件打开的时候就是一些乱码?我网...
我的程序有很重要的配置文件,我不想让用户我看到这些配置文件,因此我想用自定义格式编写文件,这样只有我能够读取文件里面的内容,别人用text文件打开的时候就是一些乱码?
我网上搜索说用加密文件的方法可以乱码,如异或加密,base64加密,但是有没有不用加密的方法呢,如压缩库之类的,或自定义文件格式呢,谢谢!!! 展开
我网上搜索说用加密文件的方法可以乱码,如异或加密,base64加密,但是有没有不用加密的方法呢,如压缩库之类的,或自定义文件格式呢,谢谢!!! 展开
5个回答
展开全部
写几个类表示配置信息,然后用二进制序列化把这几个类序列化到一个文件中,可以自己随便其的扩展名。这样文件中保存的就是二进制信息。
这样其实也不保险,你要真想保密,就只有加密。可以在System.Security.Cryptography 命名空间中找个对称算法来实现。
这样其实也不保险,你要真想保密,就只有加密。可以在System.Security.Cryptography 命名空间中找个对称算法来实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个很简单的方法
就是用对称加密 (虽然你说不用这个···但是我觉得这个很简单)
具体就用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的库,可以用来压缩和解压缩,你可以用用看,也很简单。
就是用对称加密 (虽然你说不用这个···但是我觉得这个很简单)
具体就用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的库,可以用来压缩和解压缩,你可以用用看,也很简单。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以自定义一些二进制值 别人看不懂就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询