AES256在Swift3中加密

时间:2017-05-10 03:10:33

标签: encryption swift3

我曾尝试在Swift3中使用许多库(如CryptoSwift)进行AES256加密,但无法获得正确的结果。

    let aes = try AES(key: anykey, iv: "")
    let ciphertext = try aes.encrypt(data)

我想尝试的模式如下。

Algorithm: Rijndael-256
MODE:  ECB
IV: NULL

如果我的代码中有错误,或者在Swift3中加密AES256有更好的方法,请回答我。

2 个答案:

答案 0 :(得分:2)

RNCryptor是AES256加密和解密的有用框架。

// Encryption
let data ... // Some data you want to encrypt
let password = "0Bfy8q9475jgjjbsu"
let ciphertext = RNCryptor.encryptData(data, password: password)

// Decryption
do {
    let originalData = try RNCryptor.decryptData(ciphertext, password: password)

} catch let error {
    print("Can not Decrypt With Error: \n\(error)\n")
} 

答案 1 :(得分:0)

您还可以尝试RNCryptor包装的CommonCrypto C库。这是XCode的标准配置。不幸的是,它没有快速的框架设置。该项目创建了一个框架,以便在swift https://github.com/sergejp/CommonCrypto/tree/master/CommonCrypto

中轻松使用

您可以在https://github.com/adam-fowler/swift-library/blob/master/data/aes.swift使用CommonCrypto库找到示例代码。