[swift] 파일 암호화하기

파일 암호화는 개인정보나 기밀 정보를 안전하게 보호하기 위해 중요한 과정입니다. Swift에서는 파일을 암호화하는 방법을 쉽게 구현할 수 있습니다. 이번 글에서는 Swift를 사용하여 파일을 암호화하는 방법에 대해 알아보겠습니다.

암호화 라이브러리 선택하기

Swift에서는 암호화를 위한 다양한 라이브러리를 사용할 수 있습니다. 대표적인 암호화 라이브러리로는 CryptoSwift가 있습니다. CryptoSwift는 Swift로 개발된 강력한 암호화 라이브러리로, 다양한 암호화 알고리즘과 해시 함수를 지원합니다.

파일 암호화 구현하기

우선 CryptoSwift 라이브러리를 프로젝트에 추가해야 합니다.

import CryptoSwift

암호화할 파일을 선택한 후 Data 형태로 변환합니다.

guard let fileURL = Bundle.main.url(forResource: "sample", withExtension: "txt"),
    let fileData = try? Data(contentsOf: fileURL) else {
        return
}

암호화 알고리즘과 암호화 키를 설정합니다.

let key = "MySecretKey123456"
let iv = "1234567890123456"

let aes = try AES(key: Array(key.utf8), blockMode: CBC(iv: Array(iv.utf8)))

파일 데이터를 암호화합니다.

let encryptedData = try aes.encrypt(fileData.bytes)

암호화된 데이터를 새로운 파일로 저장합니다.

let encryptedFileURL = FileManager.default.temporaryDirectory.appendingPathComponent("encryptedFile")
try encryptedData.write(to: encryptedFileURL)

파일 복호화 구현하기

복호화도 마찬가지로 CryptoSwift 라이브러리를 사용합니다.

guard let encryptedFileURL = FileManager.default.temporaryDirectory.appendingPathComponent("encryptedFile"),
    let encryptedData = try? Data(contentsOf: encryptedFileURL) else {
        return
}

let decryptedData = try aes.decrypt(encryptedData.bytes)

복호화된 데이터를 원하는 위치에 저장하거나 필요한 작업을 수행할 수 있습니다.

결론

Swift에서 파일을 암호화하는 방법에 대해 알아보았습니다. CryptoSwift를 사용하여 파일을 암호화하고 복호화하는 것은 간단하며, 개인정보나 중요한 데이터를 보호하는데 큰 도움이 됩니다.

참고: CryptoSwift GitHub repository