加密方法1:
static func aes_encrypt(_ str: String, aes_key: String, iv: String) -> String{
var encryptedStr = ""
do {
let keyBytes = [UInt8](base64: aes_key)
let ivBytes = [UInt8](base64: iv)
let aes = try AES(key: keyBytes,blockMode: CBC(iv: ivBytes), padding: .pkcs7)
let encoded = try aes.encrypt(Array(str.utf8))
encryptedStr = encoded.toBase64()
} catch {
print(error)
}
return encryptedStr
}```
加密方法2:
static func aes_encrypt(_ str: String, aes_key: String, iv: String) -> String{
var encryptedStr = ""
do {
let keyBytes = [UInt8](base64: aes_key)
let ivBytes = [UInt8](base64: iv)
let aes = try AES(key: keyBytes,blockMode: CBC(iv: ivBytes), padding: .pkcs7)
let encoded = try aes.encrypt(str.bytes)
let data = Data(bytes: encoded, count: encoded.count)
//加密结果从data转成string 转换失败 返回""
encryptedStr = data.base64EncodedString(options: .lineLength64Characters)
} catch {
print(error)
}
return encryptedStr
}
解密
static func aes_decrypt(_ str: String, aes_key: String, iv: String) -> String{
var decryptedStr = ""
do {
let keyBytes = [UInt8](base64: aes_key)
let ivBytes = [UInt8](base64: iv)
let aes = try AES(key: keyBytes, blockMode: CBC(iv: ivBytes), padding: .pkcs7)
decryptedStr = try str.decryptBase64ToString(cipher: aes)
} catch {
print(error)
}
return decryptedStr
}
使用CryptoSwift进行AES加密解密
最新推荐文章于 2023-09-08 10:36:03 发布