0

私は QR コードをスキャンし、暗号化された AES-128 データを解読する必要がある迅速なプロジェクトに取り組んでいます。

CryptoSwift というフレームワークを使用しています。

暗号化されたデータを保持する QR コードからのキーとデータがあります。

var key     = "B7zqj4TAXnPevYZAR4T26969"
var qrData  = "zWDzClfre4aOjTumzGsnpqh4Sje7sFsbKceA3/OSH3nKRwc7/6fYUajBr/bLh9BB"

編集:申し訳ありませんが、暗号化が次のもので行われたことを忘れていました:

  1. 暗号: AES-128
  2. 操作モード:CBC
  3. パディング : PKCS7
  4. キーの派生元: 単純なデコード

この QR データを解読するには、どのような方法をとるべきか知りたいです。

どんな助けでもいいでしょう。

4

1 に答える 1

1

Swift AES コードのサンプルについては、このSO の回答を参照してください。

「暗号:AES-128」と言うと、あいまいです。おそらく、128 ビットのキー サイズを意味します。提供される鍵は 24 バイトで、鍵のサイズは 192 ビットになります。

CBC モードには iv が必要ですが、何も指定されていません。多くの実装ではデフォルトで 0x00 バイトが使用されますが、それは保証されていません。Common Crypto では使用されます。しかし、ivを提供することが常に最善です。

「キーの派生元: 単純なデコード」と言う場合、何を期待しますか? 現在のベスト プラクティス ソリューションは PBKDF2 です。

Bridging ヘッダーが必要で、そこに #import を追加します。ブリッジング ヘッダーがない場合は、システムがアウト用に追加できるようにします。「ブリッジング ヘッダーの追加」を参照してください。ステップ 3 の後で .m ファイルを削除できます。

プロジェクトに Security.framework を追加する必要もあります。Swift を使用している場合は、どのバージョンを使用していますか。

于 2015-07-02T10:53:46.247 に答える