i have used CryptoSwift for AES encryption/decryption. when i run this code it throws error:
"fatal error: Array index out of range".
using reference from here
What can be the cause for this? Any suggestion will be most appreciate.
code:
let key = "1234567890123456" // key
let iv = "1234567890123456" // random
let message = "This is test string"
override func viewDidLoad() {
super.viewDidLoad()
// encrypt
let encrypted = AES(key: key, iv: iv, blockMode: .CBC)
let enc = encrypted?.encrypt(message.utf8Array, padding: PKCS7())
println("enc >> \(enc)")
// decrypt
let decrypted = AES(key: key, iv: iv, blockMode: .CBC)
let dec = encrypted?.decrypt(enc!, padding: PKCS7())
println("dec >> \(dec)")
The problem may be here:
message.utf8Array
, where you convert String to Array. Here is working example: