2017-05-24 2 views
0

사용자 식별자를 저장해야합니다. 아마도 /data/data/com.my.package/files에 저장할 수 있을지도 모르겠지만 누군가가 전화를 뿌리 쳤다면 먼저 여기에서 검색 할 것입니다. 그래서 나는 조금 더 안전하게 보이는 AccountManager을 사용하지 않을 것이라고 생각했다. (내가 틀렸다면 말해라.) 그래서 여기 내 질문 : AccountManager에 저장된 데이터는 어디에 있습니까?Android : 내 프로젝트에 대해 AccountManager에 입력 된 데이터가 저장되는 곳

미리 감사드립니다.

답변

0

AccountManager를 사용하는 것이 내부 저장소의 파일을 사용하는 것보다 안전하지 않습니다. 계정이있는 데이터베이스는 암호화되지 않고 루트 된 장치에서 계속 액세스 할 수 있습니다.

그것은 같은 관리자가 암호화 서비스 또는 열쇠 고리 아니라는 것을 이해하는 것이 중요 :이 official docs에서 인용 한 것입니다. 을 일반 텍스트로 전달하는 것처럼 계정 자격 증명을 저장합니다. 대부분의 장치에서는 루트에만 액세스 할 수있는 데이터베이스에 저장하기 때문에 특별히주의하지는 않습니다. 그러나 루팅 된 기기에서는 기기에 대한 액세스 권한이있는 누구나 명의 사용자가 자격 정보를 읽을 수 있습니다.

이 데이터베이스는 /data/system/users/0/accounts.db (여기서 0은 사용자 ID 임)에서 찾을 수 있습니다.

+0

아주 좋은 설명입니다. 참고 자료를 보내 주셔서 감사합니다. 자격 증명을 저장하는 좋은 방법이 있습니까? – Sharath

+0

AccountManager는 실제로 사용자의 자격 증명을 저장하기에 좋은 곳이며 일반 텍스트 암호는 입력하지 말고 인증 토큰 만 넣으십시오. 더 멀리 가고 싶다면 인증 토큰을 AccountManager에 넣기 전에 암호화 할 수 있습니다. 추신 도움이되었다고 생각되면 제 대답을 수락하십시오. – makovkastar

+0

@makovkastar 늦게 답변 해 주셔서 감사합니다.하지만 도움이되었습니다. AccountManager가 작동하는 방식에 대해서는 여전히 조금 혼란 스럽지만 답변과 설명을 통해 누구도 액세스 할 수없는 식별자를 저장하는 방법을 더 쉽게 검색 할 수 있습니다. 감사 – Kolopox

관련 문제