punchnet-macos/Tun/Punchnet/Cipher/CCAESChiper.swift
2026-03-17 16:19:51 +08:00

28 lines
733 B
Swift

//
// CCAESChiper.swift
// punchnet
//
// Created by on 2026/3/17.
//
import Foundation
struct CCAESChiper: CCDataCipher {
private let aesKey: Data
init(key: Data) {
self.aesKey = key
}
func decrypt(cipherText: Data) throws -> Data {
let ivData = Data(aesKey.prefix(16))
return try CC.crypt(.decrypt, blockMode: .cbc, algorithm: .aes, padding: .pkcs7Padding, data: cipherText, key: aesKey, iv: ivData)
}
func encrypt(plainText: Data) throws -> Data {
let ivData = Data(aesKey.prefix(16))
return try CC.crypt(.encrypt, blockMode: .cbc, algorithm: .aes, padding: .pkcs7Padding, data: plainText, key: aesKey, iv: ivData)
}
}