Integración del framework
Para incorporar la funcionalidad de compresión segura en Swift, agregue la dependencia mediante Swift Package Manager. En Xcode, navegue a las dependencias del proyecto e incluya el repositorio:
https://gitcode.com/gh_mirrors/zi/Zip
Creación de archivos ZIP cifrados
La compersión de acrhivos con protección mediante clave se realiza mediante el método zipFiles. Este proceso aplica cifrado AES-256 a los contenidos:
import Zip
func generarZipProtegido() {
let archivos = [
URL(fileURLWithPath: "/ruta/al/archivo1.pdf"),
URL(fileURLWithPath: "/ruta/al/archivo2.png")
]
let destinoZip = URL(fileURLWithPath: "/ruta/archivo_seguro.zip")
do {
try Zip.zipFiles(
paths: archivos,
zipFilePath: destinoZip,
password: "clave_secreta_123",
compression: .DefaultCompression
)
print("Archivo ZIP protegido creado exitosamente")
} catch {
print("Error en la compresión: \(error)")
}
}
Extracción de archivos protegidos
Para descomprimir archivos ZIP cifrados, proporcione la contraseña correcta mediante el parámetro password:
func extraerZipCifrado() {
let archivoZip = URL(fileURLWithPath: "/ruta/archivo_seguro.zip")
let directorioDestino = URL(fileURLWithPath: "/ruta/destino/")
do {
try Zip.unzipFile(
archivoZip,
destination: directorioDestino,
overwrite: true,
password: "clave_secreta_123"
)
print("Extracción completada correctamente")
} catch {
print("Error en la descompresión: \(error)")
}
}
Manejo de datos en memoria
El framework permite comprimir datos residentes en memoria aplicando cifrado:
let contenido = "Información confidencial".data(using: .utf8)!
let archivoVirtual = ArchiveFile(
filename: "confidencial.txt",
data: contenido as NSData,
modifiedTime: Date()
)
try Zip.zipData(
archiveFiles: [archivoVirtual],
zipFilePath: destinoZip,
password: "otra_clave_segura"
)
Consideraciones de seguridad
- Utilice contraseñas complejas que combinen mayúsculas, minúsculas, números y símbolos
- Implemente rotación periódica de claves para archivos de larga duración
- Almacene las credenciales utilizando servicios de gestión de secretos
- Verifique la integridad de los archivos después de la descompresión