ios - 无法解密在服务器端使用 OpenSSL AES 256 CBC 加密的文件

标签 ios encryption openssl aes

关闭。这个问题需要details or clarity .它目前不接受答案。












想改进这个问题?通过 editing this post 添加详细信息并澄清问题.

8年前关闭。




Improve this question




我试图解决这个问题很长时间,但仍然无法得到结果。我用 this openssl library对于 iOS 与 this example code .如果我使用此代码加密数据,我也可以解密此代码。但是如果我使用终端和openssl命令加密数据,则无法使用此代码解密加密文件..是否有一些差异或某些事情,不让我成功完成解密..我会很高兴任何建议或建议..
谢谢。

升级版:
我使用的命令:
openssl aes-256-cbc -in test.pdf -out test.bin -kfile key -S salt_in_hex

最佳答案

您缺少的是,在代码示例中,他们使用了 key 和 iv 派生函数:`EVP_BytesToKey,而不是原始 key ,谷歌它。此外,您还缺少 CBC 模式所必需的 iv。

最好不要在 iOS 中使用 OpenSSL。 Appel 不提供它,因为版本更新很多时候不能向后兼容破坏旧代码。最好使用 iOS 提供的 CommonCrypto 功能。

如果您有兴趣在数百小时了解它的生产计划中使用安全性。加密部分是简单的部分。如果您只是在玩这个来学习,请考虑一些书籍,例如 Bruce Schneier 的应用密码学和免费在线提供的应用密码学手册。即使是这些也严重划伤了密码学正确应用的表面。

关于ios - 无法解密在服务器端使用 OpenSSL AES 256 CBC 加密的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21063961/

相关文章:

ios - NSArray 键 => 值,

ios - SKVideoNode.pause() 不暂停视频

ios - 为什么核心动画类型采用字符串键路径?

php - 为什么我不应该在 crypt() 函数的 salt 中使用第 23 个字符?

php - 如何使用 PHP 的 OpenSSL 模块更改私钥的密码?

ios - 如何使用 ARKit 或 Apple Vision 测量 3d 对象的尺寸?

php - 如何从 MYSQL-加密字符错误中检索图像

.net - 如何在 WinForms 应用程序中安全地存储连接字符串?

c - OpenSSL 向具有证书颁发机构的客户端提供服务器证书?

c++ - OpenSSL DER ECDSA 编码错误