2014-01-11 112 views
2

我試圖很長時間解決此問題,但仍然無法獲得結果。我使用this openssl library的iOS與this example code。如果我使用此代碼加密數據,我也可以解密這一個。但如果我使用終端和openssl命令加密數據,加密文件不能用這個代碼解密..是否有一些差異或有些事情,不讓我完成解密成功..我會很高興任何意見或建議.. 謝謝。無法解密使用OpenSSL在服務器端加密的文件AES 256 CBC

UPD: 命令,我使用: OpenSSL的AES-256-CBC -in檢驗.pdf退房手續TEST.bin,燒寫-kfile關鍵-S salt_in_hex

+0

請使用OpenSSL命令嗎? – doptimusprime

+0

openssl aes-256-cbc -in test.pdf -out test.bin -kfile鍵-S salt_in_hex – user3163204

回答

0

什麼你缺少的是,在代碼示例他們使用的是密鑰和iv派生函數:`EVP_BytesToKey,而不是原始密鑰,Google它。你也錯過了CBC模式基本需要的iv。

最好不要在iOS中使用OpenSSL。 Appel不提供它,因爲版本更新很多時候不會向後兼容破壞舊代碼。最好使用iOS提供的CommonCrypto功能。

如果您有興趣在幾百小時的產品計劃中使用安全性,請了解它。加密部分是簡單的部分。如果你只是在玩這個來學習,可以考慮一些書籍,如Bruce Schneier的Applied Cryptography和免費在線提供的應用密碼術手冊。即使這些嚴重刮傷了密碼學正確應用的表面。

+0

感謝您的回答。最好不要在iOS中使用OpenSSL?但有什麼選擇?我想要使​​用的不僅僅是iOS,我的意思是我需要例如加密服務器上的某些內容(而不是iOS),而不是在iOS和Android中對其進行解密。我不確定,CommonCrypto會幫助我。 – user3163204

相關問題