[swift] Swift CryptoSwift로 대칭키 암호화하기

암호화는 데이터를 보호하기 위해 중요한 기술입니다. 대칭키 암호화는 가장 기본적인 암호화 방법 중 하나입니다. Swift에서는 CryptoSwift라는 라이브러리를 사용하여 대칭키 암호화를 할 수 있습니다.

CryptoSwift 라이브러리 설치

먼저, CryptoSwift 라이브러리를 설치해야 합니다. 다음의 명령어를 사용하여 CocoaPods를 통해 라이브러리를 설치할 수 있습니다.

pod 'CryptoSwift'

또는 Carthage를 사용한다면, Cartfile에 다음과 같이 추가하고 carthage update를 실행하세요.

github "krzyzanowskim/CryptoSwift"

대칭키 암호화하기

CryptoSwift를 사용하여 대칭키 암호화를 할 수 있습니다. 아래의 예제 코드를 참고해보세요.

import CryptoSwift

let key = "SecretKey12345678"
let iv = "InitialVector098"

// 암호화
let plaintextData = "Hello, World!".data(using: .utf8)!
let encryptor = try! AES(key: key, iv: iv).makeEncryptor()
let encryptedData = try! encryptor.update(withBytes: Array(plaintextData)).final()

// 복호화
let decryptor = try! AES(key: key, iv: iv).makeDecryptor()
let decryptedData = try! decryptor.update(withBytes: Array(encryptedData)).final()

let decryptedString = String(data: Data(decryptedData), encoding: .utf8)

위의 코드에서 keyiv는 암호화에 사용할 대칭키와 초기화 벡터입니다. plaintextData는 암호화할 평문 데이터이고, encryptedData는 암호화된 데이터입니다. 이후 decryptor를 사용하여 encryptedData를 복호화하고 decryptedString에 결과를 저장합니다.

결론

Swift CryptoSwift 라이브러리를 사용하면 대칭키 암호화를 쉽게 구현할 수 있습니다. 이를 통해 데이터를 보호하고 개인정보를 안전하게 전송하거나 저장할 수 있습니다.

참고 자료