[swift] Swift에서의 파일 및 폴더 암호화 방법
Swift에서 파일 및 폴더를 암호화하는 방법은 개인 정보 보호 및 데이터 보안을 강화하기 위해 중요합니다. 이 글에서는 Swift에서 파일 및 폴더를 암호화하는 방법을 알아보겠습니다.
1. 파일 암호화
Swift에서 파일을 암호화하기 위해서는 다음 단계를 따르세요:
단계 1: 파일 읽기
암호화할 파일을 읽어옵니다. 이 단계에서는 파일을 읽어서 메모리에 로드해야 합니다.
let fileURL = Bundle.main.url(forResource: "file", withExtension: "txt")
let fileContents = try String(contentsOf: fileURL)
단계 2: 암호화 키 생성
암호화 키를 생성하기 위해 CryptoKit을 사용할 수 있습니다. CryptoKit을 임포트하고 적절한 키를 생성합니다.
import CryptoKit
let key = SymmetricKey(size: .bits256)
단계 3: 파일 암호화
생성된 키를 사용하여 파일을 암호화합니다.
let encryptedData = try AES.GCM.seal(fileContents.data(using: .utf8)!, using: key).combined
단계 4: 암호화된 파일 저장
암호화된 데이터를 파일로 저장합니다.
let encryptedFileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("encrypted_file.txt")
try encryptedData.write(to: encryptedFileURL)
2. 폴더 암호화
Swift에서 폴더를 암호화하기 위해서는 해당 폴더의 파일들을 암호화하는 방법을 사용할 수 있습니다. 폴더 내의 모든 파일을 암호화하고, 필요에 따라 폴더 구조를 유지하는 방식으로 진행됩니다.
단계 1: 폴더 내 파일 리스트 가져오기
암호화할 폴더 내의 파일 리스트를 가져옵니다.
let folderURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let fileURLs = try FileManager.default.contentsOfDirectory(at: folderURL, includingPropertiesForKeys: nil)
단계 2: 파일 암호화
각 파일을 암호화합니다. 앞서 설명한 파일 암호화 과정을 사용하면 됩니다.
단계 3: 암호화된 파일 저장
암호화된 파일을 저장합니다. 폴더 구조가 유지되도록 암호화된 파일을 해당 폴더에 저장합니다.
for fileURL in fileURLs {
let fileContents = try String(contentsOf: fileURL)
// 파일 암호화 과정
let encryptedFileURL = folderURL.appendingPathComponent(fileURL.lastPathComponent)
try encryptedData.write(to: encryptedFileURL)
}
이로써 폴더 내의 모든 파일이 암호화되어 저장됩니다.