[swift] 파일을 암호화하여 저장하기
1. CryptoKit을 사용하여 파일 암호화하기
CryptoKit은 Swift에서 제공하는 암호화 및 복호화를 위한 프레임워크입니다. 다음은 CryptoKit을 사용하여 파일을 암호화하는 예제 코드입니다.
import CryptoKit
func encryptFile(at filePath: URL, to destinationPath: URL, using key: SymmetricKey) throws {
let data = try Data(contentsOf: filePath)
let sealedBox = try AES.GCM.seal(data, using: key)
try sealedBox.combined?.write(to: destinationPath)
}
위 코드에서는 CryptoKit
을 사용하여 파일을 암호화하는 encryptFile
함수를 구현하였습니다. 파일을 읽어들인 후 AES-GCM 알고리즘을 사용하여 암호화하고, 결과를 지정된 경로에 저장합니다.
2. 키 관리
파일을 안전하게 암호화하려면 키 관리가 매우 중요합니다. 이 키는 암호화 및 복호화에 사용되며 안전하게 보관되어야 합니다.
let key = SymmetricKey(size: .bits256) // 256-bit key 생성
키를 생성한 후에는 안전한 위치에 저장하고, 필요할 때마다 사용하도록 관리해야 합니다.
3. 파일 암호화 및 복호화 예외 처리
파일 암호화 및 복호화 과정에서 발생할 수 있는 예외 상황에 대비하여 적절한 예외 처리를 추가해야 합니다.
do {
try encryptFile(at: inputFileURL, to: encryptedFileURL, using: key)
// 암호화된 파일을 성공적으로 생성하고 저장한 경우의 처리 로직
} catch {
// 암호화 과정에서 오류가 발생한 경우의 처리 로직
print("파일 암호화 오류: \(error.localizedDescription)")
}
4. 참고 자료
파일 암호화는 애플리케이션의 보안 및 데이터 보호를 강화하는 중요한 과제입니다. CryptoKit을 사용하면 Swift 앱에서 파일을 안전하게 암호화하여 저장할 수 있습니다.
이상으로, Swift에서 파일을 암호화하여 안전하게 저장하는 방법에 대한 간단한 소개였습니다. 더 많은 정보를 얻으려면 CryptoKit 공식 문서를 참조하시기 바랍니다.