2012-06-22 3 views
-2

가능한 중복 :
Password protecting my android app (the simple way)내 안드로이드 응용 프로그램에 대한 암호 확인을 만들기

편집 : 나는 내가 여기에 원하는 설립

: Password protecting my android app (the simple way)

(텍스트 필드가 password입니다. 사용자가 올바른 비밀번호 123을 입력하면 버튼을 클릭 할 때 사용자가 다른 활동으로 이동하기를 원합니다. 잘못된 암호를 입력하면 "Wrong password!"과 같은 메시지가 표시됩니다. 실제 암호는 /sdcard/Android/password.txt에있는 파일에서 찾을 수 있습니다. ? 나는 그런 기능을 만들 수있는 방법

)

답변

0

당신은 필요를 여기서 UI, 보안 등 많은 부분을 다루므로 수행해야 할 단계에 대한 간략한 개요를 알려 드리겠습니다.

당신은이 수 모두 설정 한 암호 속성 (숨김 문자)

버튼 (들)를 사용

텍스트 뷰가 있어야 초기 암호를 받고 비밀번호를 확인하면서 UI의에 대한 활동이나 dialogs 필요 사용자가 클릭하여 청취 할 때 확인을 선택하십시오.

암호를 저장/가져 오려면 sdcard 및 txt 파일 Getting a password from shared preferences 대신이 기능을 사용하려면 공유 환경 설정 편집기를 사용하여 저장할 수도 있습니다. 이것은 보안의 비트하지만 추가별로

일반적으로

당신이 저장해야하는 것은, 여기

import java.security.MessageDigest; 

public class PasswordToken { 

    static public String makeDigest(String password) 
    { 
     String hexStr = ""; 

     try { 
      MessageDigest md = MessageDigest.getInstance("SHA1"); 
      md.reset(); 
      byte[] buffer = password.getBytes(); 
      md.update(buffer); 
      byte[] digest = md.digest(); 


      for (int i = 0; i < digest.length; i++) { 
       hexStr += Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1); 

     } 
     } catch(Exception e) // If the algo is not working for some reason on this device 
          // we have to use the strings hash code, which 
          // could allow duplicates but at least allows tokens 
     { 
      hexStr = Integer.toHexString(password.hashCode()); 
     } 

     return hexStr; 
    } 

    static public boolean validate(String password, String token) 
    { 
     String digestToken = ""; 
     String simpleToken = ""; 

     digestToken = makeDigest(password); 

     if (0 == digestToken.compareTo(token)) 
      return true; 

     if (0 == simpleToken.compareTo(token)) 
      return true; 

     return false; 
    } 
} 
을 위해 그렇게 할 수있는 하나 개의 클래스 암호 자체가 아니라, 당신이 정말로 추가 보안 토큰을 저장해야합니다 암호를 확인하려면 귀하의 확인 버튼을

PasswordTextView.getText(); 
    String token = PasswordToken.makeDigest(password); 
    //... store TOKEN using the shared preferences editor 

를 클릭 할 때 사용자가

PasswordTextView.GetText(); 
    String token = PasswordToken.makeDigest(password); 
    //... GET token using the shared preferences 

    if (PasswordToken.validate(token)) 
    Start your new activity 
    else 
    tell your user to try again 
로그인하고 싶어 할 때

그래서 암호를 저장하기

startActivity or startActivityForResult을 사용하여 다른 활동을 시작하고 Dialog 클래스를 오버라이드하여 UI 비트를 수행 할 수 있습니다.

+0

예. 나는 내가 필요한 것을 발견했다 !! – user1475122

0

아마도 먼저 안드로이드에 대해 조금을 읽고 초보자 튜토리얼해야한다 :

이 어떻게 현장을 얻고 콘텐츠에 액세스 할 보여줍니다 : 를 http://developer.android.com/training/basics/firstapp/building-ui.html

이 하나가 당신에게 변화 활동에 대한 몇 가지 knowlege 제공해야합니다 : http://developer.android.com/training/basics/firstapp/starting-activity.html

+0

예! 나는 내가 필요한 것을 발견했다 !! – user1475122

관련 문제