투케이2K

900. (Android/Java) [유틸 파일] getWifiPasswordMsg : 와이파이 비밀번호 설정 여부 메시지 포맷 출력 본문

Android

900. (Android/Java) [유틸 파일] getWifiPasswordMsg : 와이파이 비밀번호 설정 여부 메시지 포맷 출력

투케이2K 2024. 11. 18. 20:43

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java

- 개발 툴 : Android Studio

- 구분 : 유틸 파일

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : getWifiPasswordMsg : 와이파이 비밀번호 설정 여부 메시지 포맷 출력
    // -----------------------------------------------------------------------------------------
    public static String getWifiPasswordMsg(String capabilities) {

        /**
         * // -----------------------------------------
         * [getWifiPasswordMsg 메소드 설명]
         * // -----------------------------------------
         * 1. 와이파이 비밀번호 인증 필요 메시지 확인
         *
         * Capability 문자열의 구성 : [프로토콜-인증방식-암호알고리즘+추가암호알고리즘]
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         * C_Wifi_Ap_Module.getWifiPasswordMsg("[WPA2-PSK-CCMP][RSN-PSK-CCMP][ESS]");
         * C_Wifi_Ap_Module.getWifiPasswordMsg("[RSN-SAE-CCMP][ESS][MFPR][MFPC]");
         * C_Wifi_Ap_Module.getWifiPasswordMsg("[WPA2-PSK-CCMP][RSN-PSK-CCMP][ESS][WPS]");
         * C_Wifi_Ap_Module.getWifiPasswordMsg("[ESS][WPS]");
         * // -----------------------------------------
         * 3. 참고 내용 :
         *
         * WiFi 보안 프로토콜 : WEP -> WPA -> WPA2 로 발전
         * WiFi 인증 방법 : 개인용: WPA-Private (PSK (Pre-Shared-Key)) / 기업용: WPA-Enterprise (EAP - RADIUS 인증서버 요구)
         * // -----------------------------------------
         * */


        // [리턴 변수 선언]
        String returnData = "";


        // [로직 처리 수행]
        try {

            if (C_Util.stringNotNull(capabilities) == true){

                String upperString = String.valueOf(capabilities).toUpperCase();

                if (upperString.contains("PSK") || upperString.contains("EAP") || upperString.contains("SAE")){

                    // -------------------------------------------------
                    // TODO [PSK] : 개인 모드 : 사전에 정해 진 인증 키 필요
                    // -------------------------------------------------
                    // TODO [EAP] : 엔터 프라이즈 모드 : 별도 인증 시스템 연동 및 아이디, 비밀번호 입력 필요
                    // -------------------------------------------------
                    // TODO [SAE] : WPA3 에서 PSK 를 SAE 로 대체 >> 재생 취약점 방지
                    // -------------------------------------------------

                    returnData = "[Auth] : 인증 필요";
                }
                else {
                    returnData = "[Open] : 공개 활성";
                }

            }
            else {
                returnData = "[Error] : Input Data Is Null";
            }

        }
        catch (Exception e){
            e.printStackTrace();
            returnData = "[Exception] : " + String.valueOf(e.getMessage());
        }


        // [리턴 반환]
        return returnData;
    }

// -----------------------------------------------------------------------------------

 

반응형
Comments