2017-05-18 10 views
0

CommonCryptoでDES暗号化文字列を復号したいので、特定のパスフレーズから鍵を生成する必要があります。SwiftでDESキーを生成する方法3

私はAppleのAPIリファレンスでは、以下の機能が見つかりました:SecKeyGenerateSymmetric

をしかし、私は私の迅速なファイルのセキュリティをインポートするときに、フレームワークの他の機能が用意されていながら、この機能は利用できません(例えばSecKeyGeneratePair。)。

この機能は他の機能に置き換えられましたか?

また、Swift 3でDESキーを生成する方法はありますか?

#import <CommonCrypto/CommonCrypto.h> 

プロジェクトにSecurity.frameworkを追加:スウィフトと共通の暗号化を使用するためには

+0

注:新しいコードではDESを使用しないでください。安全ではなく、AESによって置き換えられました。既存のコードでは、下位互換性が必要な場合はバージョンインジケータを使用し、互換性のためにAESとDESの両方をサポートすることを検討する場合は、AESに変更することをお勧めします。 – zaph

答えて

1

ブリッジングヘッダを追加する必要があります。

パスワード(鍵導出)と同じ方法および使用する定義されたパラメータから鍵を生成します。このような方法がいくつか一般的に使用されていますが、PBKDF2はNISTでよく使用され、提案されています。鍵の導出に使用されるメソッドとパラメータを知っていますか?

+0

答えをありがとう。私は既にCommonCryptoをBridgingHeaderでインポートしました。 しかし、DES解読の鍵を生成する必要はないようです。 私は単純に8バイトの文字列を使用し、それをUTF8エンコーディングでデータに変換することができます。 私は今、エラーなしでCCCrypt関数を呼び出すことができますが、私の結果はまだ空です...私はすぐに私の質問を更新します! – ndreisg

+0

私はこの問題の新しい質問を投稿しました。おそらくあなたも私にこの問題を助けることができますか? [Swift 3でCommonCryptoでDESを復号する](http://stackoverflow.com/questions/44044816/decrypting-des-with-commoncrypto-in-swift-3) – ndreisg

+0

安全な鍵は、一般にランダムな文字の配列であり、 Common Crypto 'SecRandomCopyBytes'を使用して作成するのが最適です。 – zaph

関連する問題