我使用的是Xcode 9.0和CryptoSwift (0.7.2)。我试图扩展字符串来解密AES128加密的字符串。我已经成功地在Pods中添加了CryptoSwift,但是我得到了下面的编译错误--我做错了什么?
'PKCS7‘无法构造,因为它没有可访问的初始化器

这是分机:
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"
}
}发布于 2017-09-25 02:10:29
我查看了CryptoSwift的文档,并找到了一个示例代码:
let decrypted = try AES(key: key, iv: iv, blockMode: .CBC, padding: .pkcs7).decrypt(encrypted)我认为它使用的是.pkcs7,而不是PKCS7()。
https://stackoverflow.com/questions/46396271
复制相似问题