我试图解决这个问题很长一段时间,但仍然无法得到结果。我使用this openssl library用于this example code的iOS。如果我使用此代码加密数据,我也可以解密这个。但如果我使用终端和openssl命令加密数据,加密文件不能用这段代码解密..是否有一些差异或一些事情,不让我完成解密成功..我会很高兴的任何建议或意见.. 感谢。
UPD: 命令,我用过: openssl aes-256-cbc -in test.pdf -out test.bin -kfile key -S salt_in_hex
答案 0 :(得分:0)
你缺少的是在代码示例中他们使用的是密钥和iv派生函数:`EVP_BytesToKey,而不是原始密钥,google it。你也错过了CBC模式基本上需要的静脉注射。
最好不要在iOS中使用OpenSSL。 Appel不提供它,因为版本更新多次不能向后兼容破坏旧代码。最好使用iOS提供的CommonCrypto功能。
如果您有兴趣在产品计划中使用安全性数百小时了解它。加密部分是简单的部分。如果你只是想玩这个来学习,可以考虑一些书籍,如Bruce Schneier的 Applied Cryptography 和免费在线提供的应用密码学手册。即使这些严重划伤了正确应用密码学的表面。