1

Objective-Cには単純なbCrypt(http://codahale.com/how-to-safely-store-a-password/)の実装はありません。これを実現するCコードはありますが、特にx86プロセッサ用です。 、BSDライブラリに依存しています。

対応するオンライン(.NETおよびHTML5 + Javascript)アプリケーションと同じパスワードハッシュを共有するiOSアプリを構築しています。

非常に単純なJavaコード( http://www.mindrot.org/projects/jBCrypt/)を読んで、iOS開発に適したObjective-Cコードに変換できる場所ではありません。

ただし、Rubyの実装(https://github.com/codahale/bcrypt-ruby)があり、Rubyを使用してiOSアプリケーションを構築できると聞いています。次に、Rubyコードを静的ライブラリにロールアップしてiOSプロジェクトにリンクできますか?または、Monoを使用し、.NET実装(クリーンで純粋なコード、依存関係のないプロジェクト)を利用して静的ライブラリを構築しますか?

または、最後に、bCryptコードのObjective-C実装を知っている人はいますか?簡単そうに見えますが、.NET / C#/Rubyについて自分で翻訳するのに十分な知識がありません。

4

3 に答える 3

10

私は最近、自分のBCryptObjectiveC実装をオープンソース化しました。私も既存のObjectiveCの実装を探しましたが、役に立ちませんでした。そこで、代わりにJavaから移植しました。

外部ライブラリやフレームワークの依存関係がないため、最適な場合があります。

ここで見つけることができます... http://www.jayfuerstenberg.com/blog/bcrypt-in-objective-c https://github.com/jayfuerstenberg/JFCommon

于 2011-07-29T11:43:17.073 に答える
4

iOSには、そのようなタックを処理するためのSecurity.frameworkがあります。Mac OS XおよびiOSセキュリティサービスを参照してください。安全なパスワードを保存するには、証明書、キー、および信頼サービスを使用します。データの暗号化と復号化の方法の例を参照してください。bcryptでリンクした記事は、サーバー側で安全なパスワードを保存する方法に関するものであるため、デバイスプログラミングにはほとんど価値がありません。デバイスでは、ほとんどすべてのチャレンジプロトコルで元のパスワードを知っている必要があり、クライアント側はサーバー側とはまったく異なる脅威モデルにさらされるため、クライアントがパスワードを安全に保存する方法のルールは常にクライアントになります。

于 2011-05-19T22:16:04.487 に答える
2

ObjectiveCはCライブラリを使用できます。https://github.com/rg3/bcrypthttp://www.openwall.com/crypt/が存在するのに、なぜRubyを気にするのですか?

于 2011-05-19T22:02:47.723 に答える