1

我已经通过 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)
    })
}  

我怎样才能解密它并获得实际数据?该功能没有给我实际数据。有没有其他方法可以解密数据?

4

0 回答 0