2013-11-15 126 views
1

我该如何解决文本混淆问题,以便用户读取文本文件时无法读取,但我的程序仍然可以读取它?基本上,我将在文本文件中有类似True*True*False*True*False*False*False*True*False*true*的东西,我需要它全部疯狂。混淆/随机化一个字符串

我知道如何从文件中获取文本,并写入文件和所有的东西,我只需要弄清楚如何混淆字符串和去混淆它。这可能没有进入所有疯狂的加密的东西?我认为AES和其他加密方法是过度杀伤性的,因为在我的程序中,这个信息并非绝密或什么东西,它可以在程序中查看。我只是不希望它通过文件直接编辑。

多谢:d

弥敦道

+6

真正的加密比混淆更为容易,因为system.security.cryptography命名空间使它与创建对象并调用该对象的方法几乎一样简单。没有复杂的转化/逆转逻辑来发明或编写自己。 –

+0

@JoelCoehoorn Steves的回答非常简单,我只是用它来代替。我真的不想看看Security.Cryptography atm:p – Nathan

回答

7

这是可能没有进入都疯了加密的东西?

当然,但如果用户甚至远程知道他在做什么,他将能够解码它没有问题。

// Encode 
var bytes = Encoding.UTF8.GetBytes("true*false*true"); 
var base64 = Convert.ToBase64String(bytes); 

// Decode 
var data = Convert.FromBase64String(base64); 
var decodedString = Encoding.UTF8.GetString(data); // get string and not bytes, thanks trope 
+0

正是我所需要的,只要你不能直接在文本文件中查看它,破解就不成问题。感谢:D – Nathan

+2

为了记录,鉴于OP描述的情况,即使使用加密也不安全,就好像程序可以访问私钥一样,用户也可以访问私钥。您可以使访问更难,但实际上无法访问。 – Servy

+0

@Servy这是我在处理密码时应该担心的事情吗?我现在用AES加密和解密它们,我不能用AES加密/解密,因为加密的字符串对我所做的事情来说太长了。 – Nathan