AES 128 CBC模式解密数据格式错误

时间:2017-09-06 11:02:20

标签: ios swift encryption

我正在使用此代码进行解密

let iv = ""
let key = "e5dozUC1fLIX5FBh"
let input = "2307e05b6b87f613ef16a500d792c800ca44e6a8b3e9e5b18a048bba802ef9aee8950d9bc37faf995918dcfd10c6e81f99bf582c802dd6dd2709ad93e19c23ef"

let values = HexStr.encryptDES(byKey: input) as Data

let aes = try AES(key: key, iv: iv, blockMode: .CBC, padding: NoPadding())

//Converting to hex   
let ciphertext = try aes.decrypt (Array<UInt8>(hex: input))
let str = String(data: Data(ciphertext), encoding: String.Encoding.utf8)    
return str!

输出就像这样

  

&amp;“Vnszt%!unt不存在。请注册app。”,“code”:401}

未格式化的数据就像这样

  

“&安培;”!Vnszt%UNT“

如何获取原始数据?

1 个答案:

答案 0 :(得分:0)

对我而言,它解密如下:

  

\ u {1E} \ u {17} \ t \ n \ t&amp; \“V \ u {03} nsz {)b \ u {0C} ata found。\”,\“code \”:401 ,\ “android_version \”:\ “1 \”}

虽然它有一些不可读的内容,但解密文本肯定包含有效的明文。

我不相信整篇文章中只有一半会被一些误用的设置错误地打破。因此,在我的个人观点中,这是一个有效的解密。