ios - AES 加密到奇怪的字符

标签 ios swift xcode encryption aes

我在 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/

相关文章:

ios - 在子类中根据 UIButton 大小设置 cornerRadius 的最佳位置?

ios - 使用 Swift 4 解码嵌套 JSON 只返回一个对象

ios - 在数组上使用 NSUserDefaults

ios - 打开 Thread Sanitizer 会产生信号 SIGABRT

ios - 父 View 中的 Swift 容器控件

ios - 在用户输入有四个字符后,如何在 Swift 3 中调用准备方法?

ios - 正确隐藏和显示 TableViewCells?

ios - 如何在 swift 中将数组传递给另一个 View Controller ?

ios - TableView 单元格的 subview 的框架更改不会发生,直到 View 出现

ios - 应用内购买 - 可用产品没有 localizedTitle、localizedDescription