2

最初に MD5 で暗号化され、次に 3DES で暗号化されたログイン資格情報を送信する必要があるアプリがあります。

MD5 で文字列を暗号化するために CryptoSwift を使用することができました。ただし、Swift で 3DES によって暗号化するものは見つかりません。

CommonCrypto を試してみました。私が知る限り、これは C ですが、ブリッジ ヘッダーを使用して Objective C にインポートできます。

CommonCrypto を Swift にインポートする方法を、ブリッジ ヘッダー (フレームワークでは機能しないという警告付き) または Model.map のいずれかで説明する記事とチュートリアルをいくつか見つけました。ただし、どちらも機能していません。これが最新バージョンの iOS または Xcode の制限であるかどうかはわかりません。

誰かが代替案を教えてもらえますか?

ありがとう

編集済み

こんにちは、私が行った以下の手順をご覧ください

  1. わかりましたので、newEncrypt という名前の新しいプロジェクトを作成しました。
  2. 説明では、これは非フレームワーク アプリに限定されていると記載されているため、ヘッダー オプションを使用しないことにしました。
  3. newEncrypt 内に CommonCrypto というフォルダーを作成し、その中に module.map ファイルを入れました。その内容は次のとおりです: module CommonCrypto [system] { header "/usr/include/CommonCrypto/CommonCrypto.h" export * }
  4. ${SRCROOT}/CommonCrypto を迅速なコンパイラ検索パス インポート パスに追加しました。デバッグしてリリースします。
  5. これは、指示が停止する場所です。クラスに CommonCrypto をインポートする必要があると思います。このエラーは、「目的の C モジュール 'CommonCrypto' をビルドできませんでした。また、「/usr/include/CommonCrypto/CommonCrypto.h」または「/newEncrypt/CommonCrypto/CommonCrypto.h」に CommonCrypto ライブラリ ファイル (CommonCryto の「include」フォルダーから) が必要だと思いますか?私はこれを試しましたが、同じエラーが発生します。
  6. 次に、#import を使用してヘッダー ファイルを追加しようとし、-lfoo を他のリンカ フラグ debug および release に追加しました (ただし、これは正しいものではない可能性があります)。これがまだ必要な場合に備えて。しかし、私はまだ同じように客観的なcエラーを構築できませんでした。私は何か間違ったことをしていると確信しています
4

2 に答える 2