使用解密时,我的xcode版本9.4和swift版本为4.1,表达类型不明确,没有使用AES的更多上下文
extension String {
func aesDecrypt(key: String, iv: String) -> String {
let data = Data(base64Encoded: self)!
do{
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"
}
catch {
print("error in aes")
}
}
}
发现它可以替换了
let decrypted = try! AES(key: key, iv: iv, blockMode: .CBC, padding : .pkcs7() ).decrypt([UInt8](data))
与
let decrypted = try! AES(key: key, blockMode: CBC(iv: iv), padding: .pkcs7).decrypt([UInt8](data))
但是还需要进行其他更改,就像您需要更改参数类型一样,如下所示:
func aesDecrypt(key: [UInt8], iv: [UInt8]) -> String {
检查此演示项目以获取更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句