AES 128 CBC模式解密数据来错了格式

问题描述:

我使用这个代码解密AES 128 CBC模式解密数据来错了格式

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! 

输出来筛选

&“Vnszt%!UNT不存在。请注册与应用 “” 代码“:401}

未格式化的数据来这样

“& ”Vnszt%!UNT“

如何获得原有得到充分的原始数据?

+0

是使用'CryptoSwift'的代码? – sCha

+0

是的..我知道wt的问题在那里..我昨天试过..请帮助。 –

+0

安卓侧面正常工作..但iOS不能正常工作。 –

对我来说,解密等:

\∪{1E} \∪{17} \吨\ n \吨& \“V \∪{03} NSZ {)b \∪{0C } ata found。“,”code“:401,\”android_version \“:\”1 \“}

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

我不相信只有一半的整篇文章可能被错误的设置打破。因此,在我的个人意见,这是一个有效的解密。