26 lines
650 B
Swift
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)
|
|
}
|
|
}
|