我在 swift 3 中使用 AES 加密,我使用这个 CryptoSwift图书馆。
这是我加密字符串的代码,结果是可读字符串:/QOEtrf3o8buv2wA9FeAyg==
。
我怎样才能得到像这样的奇怪字符(不可读):Λ^��h��y^ғ
?
var input = "CryptoSwift"
var key = "passwordpassword"
var iv = "drowssapdrowssap"
func aesEncrypt(input: String, key: String, iv: String) throws -> String {
let data = input.utf8
let encrypted = try! AES(key: key, iv: iv, blockMode: .CBC, padding: PKCS7()).encrypt([UInt8](data))
let encryptedData = Data(encrypted)
return encryptedData.base64EncodedString()
}
let encrypted = try! aesEncrypt(input: input, key: key, iv: iv)
print("encrypted: \(encrypted)")
--------- Result: /QOEtrf3o8buv2wA9FeAyg== I want the result something like this: Ί�^��h��y^ғ, the strange characters.
最佳答案
您不应将其转换为 Base64。
let encrypted = try! AES(key: key, iv: iv, blockMode: .CBC, padding: PKCS7()).encrypt([UInt8](data))
let encryptedData = Data(bytes: UnsafePointer<UInt8>(encrypted), count: Int(encrypted.count))
// let encryptedString = String(data: encryptedData,encoding: String.Encoding.utf8)
// use the encryptedData to write it into a file.
关于ios - AES 加密到奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44125099/