투케이2K

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

Swift

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

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

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [String 문자열 값을 SHA384 인코딩 수행 실시]
    // -----------------------------------------------------------------------------------------
    func get_Sha384_EncodeString(data: String) -> String {
        
        /*
        // -----------------------------------------
        [get_Sha384_EncodeString 메소드 설명]
        // -----------------------------------------
        1. String 문자열 값을 SHA384 인코딩 수행 실시
        // -----------------------------------------
        2. 호출 방법 : C_Encryption().get_Sha384_EncodeString(data: "admin")
        // -----------------------------------------
        3. 리턴 반환 : (HEX 값) 9ca694a90285c034432c9550421b7b9dbd5c0f4b6673f05f6dbce58052ba20e4248041956ee8c9a2ec9f10290cdc0782
        // -----------------------------------------
        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 문자열 값을 SHA384 인코딩 수행]
            let utfData = data.data(using: .utf8)
            let sha = SHA384.hash(data: utfData!)
            returnData = sha.compactMap{String(format: "%02x", $0)}.joined()
            
        }
        
        // [로그 출력 실시]
        S_Log._D_(description: "String 문자열 값을 SHA384 인코딩 수행 실시", data: [
            "INPUT :: \(data)",
            "RETURN :: \(returnData)"
        ])
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]


반응형
Comments