투케이2K

210. (swift5/xcode) [유틸 파일] get_Sha512_EncodeString : String 문자열 값을 SHA512 인코딩 수행 실시 본문

Swift

210. (swift5/xcode) [유틸 파일] get_Sha512_EncodeString : String 문자열 값을 SHA512 인코딩 수행 실시

투케이2K 2024. 4. 30. 20:10
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [String 문자열 값을 SHA512 인코딩 수행 실시]
    // -----------------------------------------------------------------------------------------
    func get_Sha512_EncodeString(data: String) -> String {
        
        /*
        // -----------------------------------------
        [get_Sha512_EncodeString 메소드 설명]
        // -----------------------------------------
        1. String 문자열 값을 SHA512 인코딩 수행 실시
        // -----------------------------------------
        2. 호출 방법 : C_Encryption().get_Sha512_EncodeString(data: "admin")
        // -----------------------------------------
        3. 리턴 반환 : (HEX 값) c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec
        // -----------------------------------------
        4. 필요 : import CryptoKit
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = ""
        
        // [인풋 데이터 널 체크 수행 실시]
        if data != nil
            && data.count>0
            && data != ""
            && data.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && data.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && data.isEmpty == false {
            
            // [String 문자열 값을 SHA512 인코딩 수행]
            let utfData = data.data(using: .utf8)
            let sha = SHA512.hash(data: utfData!)
            returnData = sha.compactMap{String(format: "%02x", $0)}.joined()
            
        }
        
        // [로그 출력 실시]
        S_Log._D_(description: "String 문자열 값을 SHA512 인코딩 수행 실시", data: [
            "INPUT :: \(data)",
            "RETURN :: \(returnData)"
        ])
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]

 

 

반응형
Comments