【发布时间】:2016-01-05 00:11:54
【问题描述】:
我正在尝试使用 openSSL 库中的 md5 模块。因此,在我的一个标题中,我通过如下方式包含了 openssl 库:
#include <openssl/md5.h>
但是 Xcode 给我消息 md5.h 文件未找到。我进入我的 /usr/include 并确认 openssl/md5.h 存在。
以下是我尝试解决的问题:
- 我清理了我的项目
- 确保在框架/库中包含 libcrypto.dylib 部分
- 我已将 /usr/include/ 包含在构建设置中的用户标题搜索路径和标题搜索路径中,并将其设置为递归搜索子目录
我目前运行的是 OS X 10.10.5,我的 Xcode 版本是 7.0.1
【问题讨论】:
-
考虑使用 Common Crypto,它是 Apple 提供的 Security.framework 的一部分。在 iPhone 6s 上,1,000,000 字节的速度非常快 3.644 毫秒。它也通过了 FIPS-140-2 验证。一般只有几行代码。此外,如果可能,请考虑 SHA-256,MD5 不适合新工作。
-
不幸的是,我正在从事的项目,我继承了以前开发人员的代码,并且试图重新编写他们现有的许多代码并不是一个可行的解决方案。
-
啊,又是一天,又是一次成功的攻击!我喜欢阅读成功的漏洞利用,而这正是很多人的开始。公司一直推迟安全更新,直到他们成为目标。我刚刚在 Common Crypto MD5 上运行了计时,在过去四年中,iPhone 的速度提高了 6 倍。我可以在 iPhone6s 上每秒处理 250K MD5 典型密码哈希,因此我可以在一秒钟内处理 250K 潜在密码。不是那么安全。 SHA-256 适用于文件哈希等,但不适用于密码,因为 PBKDF2 有大约一百万次迭代。
-
@zaph,我完全同意。然而,这只是一个学校项目。
-
啊,那就更好了,学校教用MD5,更多的exploit来了。
标签: c++ objective-c xcode macos osx-yosemite