解密 AES128CBC 加密的 JSON 时出现此错误:
断言失败:块大小和初始化向量必须相同长度!:文件##### for iOS/CryptoSwift/Sources/CryptoSwift/AES.swift,第 97 行
我将 CryptoSwift 框架与最新的 Xcode 一起使用。
我的方法:
func aes128(key: String, iv: String) throws -> String?{
if let aes: AES = try AES(key: key, iv: iv, blockMode: .CBC){
if let encrypted: [UInt8] = try aes.encrypt([UInt8](self.utf8), padding: PKCS7()){
return String(data: NSData.withBytes(encrypted), encoding: NSUTF8StringEncoding)
}
}
return nil
}
称呼:
do{
print(try dataStr.aes128("8e0c0e73f97f2eb386ad75ba86051334", iv: "aa17ffc4ea4b1eac8fa0b56872f34e5f"))
}catch{
}