我已经通过 Pods 安装了 CryptoSwift 框架。我从服务器响应中获取加密数据。我正在尝试使用以下函数解密数据:
func aesDecrypt(key: String, iv: String) throws -> String {
let data = Data(base64Encoded: self)!
let decrypted = try! AES(key: key, iv: iv, blockMode: .CBC, padding: PKCS7()).decrypt([UInt8](data))
let decryptedData = Data(decrypted)
return String(bytes: decryptedData.bytes, encoding: .utf8) ?? "Could not decrypt"
}
我有我的模型类,因为我正在使用 Alamofire 获得响应。
func getAllShops(data : [String : AnyObject]) {
AFWrapper.requestPOSTURL(url, params: data, headers: nil, success: {(json) in
print(json)
let key = "My_Key" // length == 32
let iv = "My_iv" // length == 16
let encryptedData = json["encrypted"].string!
let enc = try! s.aesDecrypt(key: key, iv: iv)
}, failure: {(Error) in
print(Error.localizedDescription)
})
}
我怎样才能解密它并获得实际数据?该功能没有给我实际数据。有没有其他方法可以解密数据?