我正在尝试解密从我们的服务器发送的消息。
我们的服务器和我的 Android 客户端都使用这里的加密代码:
https ://gist.github.com/jafetsanchez/1080133
- 服务器使用 CS 码加密消息
- 我的 android 客户端使用 java 代码来解密消息
我想用 Swift 将解密功能添加到我的 iPhone 客户端应用程序中。但是我不确定如何使用 iOS 工具来做到这一点。
我正在使用 CryptoSwift
这是我试图做的:
let iVector: [UInt8] = [
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
]
let encryptedMessage = "encrypted_message_encrypted_message_encrypted_message_encrypted_message_"
let password = "passwordpassword"
do {
let aes = try AES(key: password, iv: String(bytes: iVector, encoding: .utf8)!, padding: .pkcs7) // aes128
let decryptedText = try aes.decrypt(encryptedMessage.bytes)
let data = Data(bytes: decryptedText, count: decryptedText.count)
if let string = String(data: data, encoding: .utf8) {
print(string)
} else {
print("not a valid UTF-8 sequence")
}
} catch { }
现在我收到错误: CryptoSwift.AES.Error.dataPaddingRequired
另外,我不确定如何在那里组合 MD5 散列。