ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • addTextChangedListener,암호화
    program_language 및 궁금한것/Android Studio 2018. 6. 4. 10:09

    보안이 가장 중요함

    요즘은 아이디 비밀번호를 한번에 사용하기 때문에 하나를 해킹당하면 여러 사이트를 다 해킹당할 확률이 크다. 이 문제점때문에 id와 pass워드를 못알아보게 암호화해서 저장하는것은 아주중요하다.


    암호화 방법엔 두개가 있다.

    단방향. 암호화시 복호화가 안된다.(  sha md5 )

    양방향. 암호화후 복호화가 된다. ( 입력된 암호가 로그인 버튼을 누르면 암호화되어 저장되는것, 운영자도 비밀번호를 모름)


    R은 Resourse의 줄임말인 것은 누구든 다~~~ 알것이고


    핸드폰 설정언어에 따라 어플 언어도 바뀐다. 

    values-en이런식으로 외국어 폴더를 만들어서 외국어로 변환한다.

    구글에 다국어 처리 검색하면 된다.


    양방향 암호화중 aes가 있음

    http://niceman.tistory.com/91

    키값을 기준으로 암호화함 ex"aex"로 !!

    1
    2
    3
    4
    5
    6
    7
    8
     protected Map<StringString> getParams() throws AuthFailureError {
                        Map<StringString> params = new HashMap<StringString>();
                        params.put("user_id", editId.getText().toString());
     
                        String stringEncrypt = "";
                        stringEncrypt = getEncrypt(editPassword.getText().toString());
     
                        params.put("password", stringEncrypt);
    cs


    키를 잘관리해야 암호화가 안털린다

    암호화는 꼭 잘 확인해야 함 서버에 있을때나 안드로이드나 php jsp에서 같은 결과를 산출하는지 알아야 함!! 왜냐하면 폰에서는 정상적으로 로그인이 되는데 컴에서는 안되는 경우가 있다.


    입력후 변화 이벤트 가져오기

    ex) 아이디입력후 중복확인후 다시 아이디 수정시 아이디 입력하라는 창을 띄우기


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     private void init() {
            editId.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    //입력전 호출되는 것
     
                }
     
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
     //editText가 변화가 있을때
                }
     
                @Override
                public void afterTextChanged(Editable s) {
    //           //입력이 끝났을때
                }
            });
        }
    cs


    SHA256암호화예제

    sha256암호라고 검색하기


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     private String getEncrypt(String origin) {
            String base = origin;
     
            try {
     
                MessageDigest digest = MessageDigest.getInstance("SHA-256");
                byte[] hash = digest.digest(base.getBytes("UTF-8"));
                StringBuffer hexString = new StringBuffer();
     
                for (int i = 0; i < hash.length; i++) {
                    String hex = Integer.toHexString(0xff & hash[i]);
                    if (hex.length() == 1) hexString.append('0');
                    hexString.append(hex);
                }
     
                //출력
                System.out.println(hexString.toString());
                base = hexString.toString();
            } catch (Exception ex) {
                throw new RuntimeException(ex);
            }
     
            return base;
        }
    cs

    오늘의 숙제!! 따딴


    로그인을 눌러서 로그인이 되게끔 하는것이다. 회원가입, 비밀번호 일치하지 않는가 체크도!

    회원가입, 메인, 커스텀 리스트뷰

    타이틀 시간 등 메인페이지 만들기

    서버에서 받아오는 것으로 

    다음주 수업은 통신!


    반응형

    댓글

Designed by Tistory.