2012-01-06 122 views
-2

我有一个包含一些加密文本的二进制文件。使用文件打开向导,我正在加载该文件。当我点击一个按钮时,说OK按钮,我希望bin文件的内容被解密并显示在只读文本框中。 关于我应该如何去做的任何想法?读取二进制文件的内容并解密它

+7

它是如何加密的? – 2012-01-06 10:31:22

+0

需要比“加密”更多的信息你用什么算法来加密文件中的文本?文本是文件的唯一部分吗?什么是用来生成文件? – Richard 2012-01-06 10:32:41

+0

d bin文件包含已使用算法加密的注册表键值。我正在使用代码来检索注册表项文件的值并将其存储在bin文件中。现在我想在d bin文件中将d加密的文本解密并显示在第二个文本框中。是的,文本只是d文件的一部分。 – 2012-01-06 10:33:30

回答

1

由于您没有指定加密算法,因此代码不完整。但这应该让你开始:

if (openFileDialog1.ShowDialog() == DialogResult.OK) { 
    using (StreamReader reader = new StreamReader(openFileDialog1.FileName)) { 
     string text = reader.ReadToEnd(); 
     txtPassword.Text = DecryptFunction(text); 

    } 
} 

这将打开文件并读取文件。 DecryptFunction是解密文件内容的函数。希望这可以帮助!

0

您需要使用StreamReader来读取文件的内容,然后在读取数据上运行解密算法,最后在文本框中显示结果。

请记住,加密文件应被视为二进制数据,因此不适合直接显示在文本框中。

加密的文件不会有真正的,行尾字符,所以你不能使用ReadLine,但必须使用ReadToEnd()Read(blocksize)(使用这个,如果该文件作为一个整体不执行你的加密过程,但数据已知大小)。