2010-08-20 103 views
0

如何加密&使用OpenSSL解密C文件中的二進制文件?加密和解密二進制文件的問題

我有一個測試程序,加密並解密給定的輸入。

我執行了我的測試程序的文本文件,輸出與輸入相同,但是當我在二進制文件上執行測試程序時,輸出與輸入不同。

+0

你應該儘量不要在標題中使用CAPSLOCK,這是一種侵略性。 – 2010-08-20 08:03:45

+0

你會不會喊? – 2010-08-20 08:04:42

+3

也許你可以發佈你寫的測試程序的一些相關部分? – Gian 2010-08-20 08:24:06

回答

1

只是猜測:你正在使用Windows,並在文件操作中錯過了O_BINARY標誌?

1

有可能您正在使用字符串函數,如strlen()在您正在閱讀的緩衝區中。 OpenSSL函數適用於二進制文件。

1

沒有看到你的代碼,我們只能猜測。但我的第一個猜測是,你的加密或解密例程在二進制文件中的一個\ 0字符或兩個字符上。數據必須視爲字節而不是字符串。 (與本頁其他地方提到的StrLen()問題相同)

我不是C程序員(!),但我設法使Delphi/Pascal中的加密例程工作的方式是下載OpenSSL source(在C中)並逐步完成openssl.exe應用程序的代碼。一旦你弄清楚他們自己怎麼做,使用EVP_ *函數變得更容易了。