1

설치 당 정확히 한 명의 사용자를위한 Android 앱을 제작 중입니다. 응용 프로그램은 사용자 이름과 암호를 저장해야합니다.Android 암호화 편집 텍스트 입력

입력 한 사용자 이름과 비밀번호는 공유 환경 설정에 저장되며 앱을 시작할 때마다 입력해야합니다.

사용자 이름 필드 : android:inputType="textCapSentences"

암호 필드 : android:inputType="textPassword"

내 질문은 : 두 값의 암호를 해독/암호화하는 가장 고통스러운 방법은 무엇인지.

응용 프로그램이 학교 프로젝트 용이므로 암호화 프로세스가 최고 수준 일 필요는 없습니다.

+0

나는 md5 또는 sha 단방향 해시를 사용합니다. – RamithDR

답변

3

입력을 암호화/암호 해독 할 필요가 없습니다.

읽을 수 없게하려면 좋은 일대일 Hash-Function을 사용해야합니다.

이 값을 저장하려면 :

// Pseudo 
SharedPrefs.put(USERNAME, h(input_username)); 

은 값을 확인하려면 :

당신의 해쉬 함수는 '시간'이다의가 있다고 가정 해 봅시다 암호를 암호화하지 마십시오

// Pseudo 
SharedPrefs.get(USERNAME).equals(h(input_username)); 
+1

@ Jurza 자신의 해시 함수를 작성한 적이 절대로 없습니다. SHA256 등을 사용하십시오. –

1

를 사용

해시

시도해 볼 수 있습니다. Hash String via SHA-256 in Java

,

저장 데이터베이스, 사용자가 로그인 할 때 데이터베이스에 해시 다음은 사용자가 올바른 암호를 원하기 때문에

+0

비밀번호 암호를 사용하는 것이 왜 안되는지 설명 할 수 있습니까? – Jurza

+0

암호화를 사용하면 누구나 앱을 디 컴파일 할 수 있고 암호를보고 사용자 암호를 해독 할 수 있습니다. 해시 + 소금을 잘 사용하면 한 번의 수명에서 암호를 알아내는 것이 거의 불가능하며 해시 된 암호를 해독하는데도 수년이 걸립니다 슈퍼 PC와 –

관련 문제