关于ios:带有Xcode 9和AES解密的CryptoSwift

CryptoSwift with Xcode 9 and AES Decryption

我正在使用Xcode 9.0和CryptoSwift(0.7.2)。 我正在尝试扩展String以解密AES128加密的字符串。 我已经使用Pods成功添加了CryptoSwift,但是出现以下编译错误-我在做什么错?

无法构建" PKCS7",因为它没有可访问的初始化程序

enter image description here

这是扩展名:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Foundation
import CryptoSwift

extension String {

    // https://stackoverflow.com/questions/27072021/aes-encrypt-and-decrypt
    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"
    }

}


我检查了CryptoSwift的文档,发现了一个示例代码:

1
let decrypted = try AES(key: key, iv: iv, blockMode: .CBC, padding: .pkcs7).decrypt(encrypted)

我认为它使用的是.pkcs7而不是PKCS7()