투케이2K

461. (kotlin/코틀린) [유틸 파일] get_Wifi_Auth : 와이파이 보안 인증 타입 데이터 파싱 - capabilities 본문

Kotlin

461. (kotlin/코틀린) [유틸 파일] get_Wifi_Auth : 와이파이 보안 인증 타입 데이터 파싱 - capabilities

투케이2K 2024. 2. 13. 19:44

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] get_Wifi_Auth : 와이파이 Auth 인증 타입 확인
        // -----------------------------------------------------------------------------------------
        fun get_Wifi_Auth(capabilities: String): String {

            /**
             * // -----------------------------------------
             * [get_Wifi_Auth 메소드 설명]
             * // -----------------------------------------
             * 1. 와이파이 Auth 인증 타입 확인
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.get_Wifi_Auth("[ESS]")
             *
             * C_App.get_Wifi_Auth("[WPA2-EAP/SHA1-CCMP][RSN-EAP/SHA1-CCMP][ESS]")
             *
             * C_App.get_Wifi_Auth("[WPA2-PSK-CCMP][RSN-PSK-CCMP][ESS][WPS]")
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 : ESS / WPA2
             * // -----------------------------------------
             * 4. 추가 설명 :
             *
             * WiFi 보안 프로토콜 : WEP -> WPA -> WPA2 로 발전
             * WiFi 인증 방법 : 개인용: WPA-Private (PSK (Pre-Shared-Key)) / 기업용: WPA-Enterprise (EAP - RADIUS 인증서버 요구)
             * // -----------------------------------------
             */


            // [리턴 변수 선언]
            var returnData = ""
            var m_log = ""


            // [인풋 데이터 널 체크]
            if (C_Util.stringNotNull(capabilities) === true) {
                try {

                    // [배열에 분리]
                    val array = capabilities.split("[").toTypedArray()

                    // [0 번지 추출]
                    if (array.size > 1) { // [, WPA2-EAP/SHA1-CCMP]

                        var type = array[1]

                        type = type.replace(" ".toRegex(), "")
                        type = type.replace("]".toRegex(), "")

                        val auth = type.split("-").toTypedArray()

                        // [리턴 변수에 삽입]
                        returnData = if (auth.size > 0) { // WPA2-EAP
                            auth[0].trim { it <= ' ' }.uppercase(Locale.getDefault())
                        } else {
                            type.trim { it <= ' ' }.uppercase(Locale.getDefault())
                        }

                        // [리턴 변수에 삽입]
                        m_log = "[Success] : Wifi Auth Check"
                    } else {
                        m_log = "[ERROR] : Array Length Zero"
                    }

                } catch (e: Exception) {
                    S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e)
                    m_log = "[EXCEPTION] : " + e.message.toString()
                }

            } else {
                m_log = "[ERROR] : Input Data Is Null"
            }


            // [로그 출력 실시]
            //*
            // ===============================================================
            S_Log._D_("와이파이 Auth 인증 타입 확인 실시", arrayOf(
                "INPUT :: $capabilities",
                "M_LOG :: $m_log",
                "RETURN :: $returnData"
            ))
            // ===============================================================
            // */


            // [리턴 반환 실시]
            return returnData
        }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_App$Companion.get_Wifi_Auth(C_App.kt:7608)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-02-13 15:57:38 화요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 와이파이 Auth 인증 타입 확인 실시]
I/: ----------------------------------------------------
I/: [LOG :: INPUT :: [WPA2-EAP/SHA1-CCMP][RSN-EAP/SHA1-CCMP][ESS]]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: [Success] : Wifi Auth Check]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: WPA2]
D///===========//: ================================================

 

반응형
Comments