[ios] 암호화 해시 함수

iOS 앱을 개발하면서 사용자의 비밀번호나 기타 민감한 데이터를 안전하게 저장해야 하는 경우가 많습니다. 이를 위해 iOS에서 제공하는 암호화 해시 함수를 사용하여 데이터를 보호할 수 있습니다.

1. CommonCrypto 라이브러리

iOS에서 암호화를 위한 CommonCrypto 라이브러리를 사용할 수 있습니다. 이 라이브러리에는 해시 함수, 암호화 알고리즘 및 다양한 보안 관련 기능이 포함되어 있습니다.

import CommonCrypto

func generateHash(for input: String) -> String {
    if let data = input.data(using: .utf8) {
        var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
        data.withUnsafeBytes { (buffer: UnsafeRawBufferPointer) in
            _ = CC_SHA256(buffer.baseAddress, CC_LONG(buffer.count), &digest)
        }
        let hash = digest.map { String(format: "%02hhx", $0) }.joined()
        return hash
    }
    return ""
}

위의 코드는 입력된 문자열에 대한 SHA-256 해시를 생성하는 함수를 보여줍니다.

2. 사용 예시

let password = "s3cr3tP@ssw0rd"
let hashedPassword = generateHash(for: password)
print("Hashed Password: \(hashedPassword)")

위의 예시는 사용자 비밀번호를 해싱하여 안전하게 저장하는 방법을 보여줍니다.

iOS에서는 SHA-256 외에도 다양한 해시 함수를 사용할 수 있으며, 데이터를 안전하게 암호화하여 보호할 수 있는 다양한 방법이 있습니다. 보다 안전한 데이터 저장을 위해 암호화 기술을 적극 활용해야 합니다.

참고 자료