1

私は、Mac 上の C ライクな (実際には Xojo) プログラムでscryptキー導出関数を使用するのが好きです。

私が知る限り、これに関して OS X にプリインストールされているものは何もありません。

元のソース コードはTarsnapにあります。コンパイル中 (./configureおよびの後make)、リンクできるライブラリではなく、実行可能ファイルがビルドされます。

これからdylibを構築する簡単な方法があるのだろうか。メイクファイルを見てみましたが、圧倒され、ソース コードと一緒にビルド手順がありません。

4

1 に答える 1

1

Xcodeの助けを借りてdylibを構築することができました。

いくつかの課題がありました (scrypt v1.2.0 に基づく):

  • sha256.cは を宣言しinitstateます。それはどういうわけかグローバル名と衝突したのでs_initstate、そのファイルの3か所で名前を変更しました。
  • すべての .c ファイルをプロジェクトに追加しましたが、 crypto_scrypt-ref.cなど、実際には必要のないいくつかのファイルを削除する必要がありました。これにより、他のシンボルが重複していました。
  • Xcode 7 によって設定されたデフォルトの検索パスはusr/include、OS X 固有の SDK フォルダー内を参照していました。しかし、それには必要なファイルが含まれていません。これは、ファイルシステムのルートでopenssl/aes.hのみ見つかりました。/usr/includeターゲットオプション「Always Search Users Paths」YESと「User Header Search Paths」をに設定することで、これを回避しました。/usr/include

この後、dylib をビルドし、 crypto_scrypt.hおよびscryptenc.hで宣言された関数にリンクできます。

(プロジェクトが CVS 上にないのが残念です。または、変更を加えてプル リクエストを送信します。)

更新:プロジェクトはgithubにあります

于 2016-08-31T11:23:38.347 に答える