如何使用CryptoSwift框架使用swift解密AES 128

时间:2015-06-30 16:52:41

标签: ios swift spring encryption cryptoswift

我正在开发扫描QR码并获取需要解密的加密AES-128数据的快速项目。

我正在使用一个名为CryptoSwift的框架。

我有来自QR码的密钥和数据,用于保存加密数据。

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

编辑:对不起,我忘了提及加密:

  1. 密码:AES-128
  2. 操作方式:CBC
  3. 填充:PKCS7
  4. 密钥源自:简单解码
  5. 我想知道我应该采取什么方法来解密这个QR数据。

    任何帮助都会很好。

1 个答案:

答案 0 :(得分:1)

有关示例Swift AES代码,请参阅此SO answer

当你说:“密码:AES-128”时含糊不清。大概你的意思是一个128位的密钥大小。提供的密钥是24字节,密钥大小为192位。

CBC模式需要iv但没有指定。许多实现默认情况下将使用0x00字节,但不保证,Common Crypto可以。但最好提供iv。

你期待什么,你说:“密钥源自:简单解码”?目前最好的实践解决方案是PBKDF2。

您需要一个Bridging标头并在其中添加#import。如果您没有桥接标题,请让系统添加一个标题,请参阅Adding a Bridging Header,您可以在步骤3之后删除.m文件。

您还需要将Security.framework添加到项目中。你使用Swift的版本是什么版本。