[swift] Swift CryptoSwift의 사용 방법
Swift CryptoSwift는 Swift에서 사용할 수 있는 암호화 라이브러리입니다. 이 라이브러리를 사용하여 암호화 및 해시 기능을 쉽게 구현할 수 있습니다.
설치
CryptoSwift를 사용하려면 먼저 프로젝트에 패키지를 추가해야 합니다. Xcode에서는 다음 단계를 따릅니다.
- 프로젝트를 엽니다.
- File -> Swift Packages -> Add Package Dependency… 를 선택합니다.
- 패키지 관리자 창에서 “https://github.com/krzyzanowskim/CryptoSwift”을 입력하고 Next를 클릭합니다.
- 적절한 버전을 선택한 후 Add를 클릭하여 패키지를 추가합니다.
사용 방법
CryptoSwift를 사용하여 문자열을 암호화하는 예제를 보겠습니다.
import CryptoSwift
func encryptString(input: String, key: String) -> String? {
do {
let inputData = Data(input.utf8)
let keyData = Data(key.utf8)
let encrypted = try AES(key: keyData, blockMode: .ECB).encrypt(inputData)
let encryptedString = encrypted.base64EncodedString()
return encryptedString
} catch {
print("Encryption failed: \(error.localizedDescription)")
return nil
}
}
// 문자열 암호화 호출
let inputString = "Hello, World!"
let encryptionKey = "mySecretKey"
let encryptedString = encryptString(input: inputString, key: encryptionKey)
// 암호화된 문자열 출력
if let encryptedString = encryptedString {
print("Encrypted string: \(encryptedString)")
}
위 예제에서 encryptString
함수는 입력된 문자열을 AES 알고리즘을 사용하여 주어진 키로 암호화합니다. 암호화된 결과는 Base64 인코딩하여 문자열로 반환됩니다.
CryptoSwift를 사용하여 해시 함수를 사용하는 예제를 보겠습니다.
import CryptoSwift
func hashString(input: String) -> String {
let inputData = Data(input.utf8)
let hashed = SHA256.hash(data: inputData)
let hashedString = hashed.compactMap { String(format: "%02x", $0) }.joined()
return hashedString
}
// 문자열 해시 호출
let inputString = "Hello, World!"
let hashedString = hashString(input: inputString)
// 해시된 문자열 출력
print("Hashed string: \(hashedString)")
위 예제에서 hashString
함수는 입력된 문자열을 SHA256 해시 함수를 사용하여 해시값을 반환합니다. 반환된 해시값은 16진수 문자열로 표현됩니다.
결론
Swift CryptoSwift는 Swift에서 암호화 및 해시 기능을 쉽게 구현할 수 있는 편리한 라이브러리입니다. 이 문서에서는 몇 가지 간단한 예제를 소개했지만, 더 많은 기능과 사용 방법을 익히고 싶다면 CryptoSwift의 공식 문서를 참조하시기 바랍니다.