加密问题&解密二进制文件

时间:2010-08-20 08:01:44

标签: c linux encryption openssl binaryfiles

我如何加密&使用OpenSSL解密C中的二进制文件?

我有一个测试程序,可以加密并解密它给出的输入。

我为文本文件执行了测试程序,输出与输入相同,但是当我在二进制文件上执行测试程序时,输出与输入不同。

3 个答案:

答案 0 :(得分:1)

猜测:你在文件操作中使用Windows并错过了O_BINARY标志吗?

答案 1 :(得分:1)

您有可能在正在阅读的缓冲区上使用strlen()等字符串函数。 OpenSSL函数适用于二进制文件。

答案 2 :(得分:1)

如果没有看到您的代码,我们只能猜测。但我的第一个猜测是你的加密或解密例程正在二进制文件中的\ 0字符或两个字符上进行barfing。必须将数据视为字节而不是字符串。 (与本页其他地方提到的StrLen()问题相同。)

我不是C程序员(!)但是我设法在Delphi / Pascal中使用加密例程的方法是下载OpenSSL source(在C中)并逐步执行openssl的代码。 exe申请。一旦你弄清楚他们自己如何做到这一点,使用EVP_ *函数就变得容易多了。