在OS X上使用scrypt密钥派生函数

时间:2016-08-30 08:46:15

标签: macos cryptography scrypt

我喜欢在Mac上的C-like(实际上是Xojo)程序中使用scrypt密钥派生函数。

据我所知,OS X上没有预先安装任何内容。

原始源代码在Tarsnap上,当它编译时(在./configuremake之后),它会构建一个可执行文件,而不是我可以链接到的库。

我想知道是否有一种简单的方法来构建一个dylib。我看了一下makefile,但它让我感到震惊,而且没有构建说明和源代码。

1 个答案:

答案 0 :(得分:1)

我设法在Xcode的帮助下构建了一个dylib。

有一些挑战(基于scrypt v1.2.0):

  • sha256.c 声明initstate。不知何故,这与全球名称发生了冲突,因此我在该文件中的3个位置将其重命名为s_initstate
  • 我将所有.c文件添加到项目中,但必须删除一些实际上不需要的文件,包括 crypto_scrypt-ref.c ,这会导致其他符号重复。
  • Xcode 7设置的默认搜索路径确实引用了OS X特定SDK文件夹中的usr/include。但这不包括所需的openssl/aes.h文件,我只在/usr/include中找到(即在文件系统的根目录下)。我通过将目标选项“始终搜索用户路径”设置为YES和“用户页眉搜索路径”设置为/usr/include
  • 来解决此问题。

在此之后,我可以构建dylib,然后链接到 crypto_scrypt.h scryptenc.h 中声明的函数。

(太糟糕了,项目不在CVS上,或者我提交了拉动请求,我的更改。)

更新:项目位于github