AES128CBC で暗号化された JSON を復号化しているときに、次のエラーが発生します。
アサーションに失敗しました: ブロック サイズと初期化ベクトルは同じ長さでなければなりません!: iOS/CryptoSwift/Sources/CryptoSwift/AES.swift のファイル #####、97 行目
最新の Xcode で CryptoSwift フレームワークを使用しています。
私の方法:
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{
}