swiftlib_sdlan/Sources/sdlan/AESCipher.swift
2025-07-14 23:24:12 +08:00

26 lines
650 B
Swift

//
// AESCipher.swift
// sdlan
//
// Created by on 2025/7/14.
//
import Foundation
struct AESCipher {
let aesKey: Data
let ivData: Data
init(aesKey: Data) {
self.aesKey = aesKey
self.ivData = Data(aesKey.prefix(16))
}
func decypt(data: Data) throws -> Data {
return try CC.crypt(.decrypt, blockMode: .cbc, algorithm: .aes, padding: .pkcs7Padding, data: data, key: aesKey, iv: ivData)
}
func encrypt(data: Data) throws -> Data {
return try CC.crypt(.encrypt, blockMode: .cbc, algorithm: .aes, padding: .pkcs7Padding, data: data, key: aesKey, iv: ivData)
}
}