base64 인코딩을 사용하고 NSUSerDefaults에 사용자 암호를 저장하는 응용 프로그램을 만들었지 만, 어쨌든 다른 iPhone 개발자가이 암호를 끊습니다. NSUserDefaults 데이터를 어떻게 얻을 수 있었는지 궁금합니다. 누군가가이 중요한 일을 멈추는 방법과 NSUserDefaults 데이터를 얻는 방법을 알고 있습니까? 또한 아이폰에 사용자 암호를 저장하는 가장 좋은 암호화 방법은 무엇입니까?NSUSerDefaults 데이터 가져 오기
답변
나는 SFHFKeychainUtils을 확인하시기 바랍니다. Keychain Services API을 감싸며 암호와 같은 중요한 정보를 저장할 수있는 매우 간단한 인터페이스를 제공합니다.
스토어 당신에게 비밀번호 :
NSError * error;
[SFHFKeychainUtils storeUsername:userName andPassword:password forServiceName:@"whatever_service" updateExisting:YES error:&error];
다시 암호를 얻을 :
NSError * error;
password= [[SFHFKeychainUtils getPasswordForUsername:userName andServiceName:@"whatever_service" error:&error] retain];
당신은 또한 사용자가 로그 아웃해야하는 경우 deleteItemForUsername 메시지를 사용하여 저장된 값을 지울 수 있습니다.
감옥에 걸린 사람이있는 것보다 더 잘 제어 할 수 있습니다. 비밀이 아니라 플래시 디스크가 아니라 메모리에 숨길 수있는 곳이 없습니다. 서버를 구축 할 때는 항상 공격자가 악성 클라이언트에 연결할 수 있다고 가정해야합니다. 이야기의 기간 끝.
루크 jailbroken 장치없이 NSUserDefaults 데이터를 가져올 수 있습니까? –
키 체인 여러 응용 프로그램 및 보안 서비스를위한 암호를 보유하고 암호화 된 컨테이너 입니다. 키 체인은 보안 저장소 컨테이너입니다. 즉, 키 체인이 잠겨있을 때 아무도 보호 된 콘텐츠에 액세스 할 수 없습니다. - 키 체인 서비스 프로그래밍 가이드, Apple 2010.
Keychain Services Tasks for iOS을 읽는 것이 좋습니다.
실제 액세스 권한이있는 공격자는 암호화되지 않은 대부분의 데이터 파일 복사본을 포함하는 iPhone 백업을 만들 수 있습니다.
- 1. 충돌 가져 오는 NSUserDefaults
- 2. 데이터 가져 오기
- 3. 긁힘없이 데이터 가져 오기
- 4. 데이터베이스에서 데이터 가져 오기
- 5. 효율적인 데이터 가져 오기?
- 6. DataList에서 데이터 가져 오기
- 7. 위키에서 데이터 가져 오기
- 8. 데이터 가져 오기 아이디어
- 9. NSTextView에서 데이터 가져 오기
- 10. NSDictionary에서 데이터 가져 오기
- 11. imdb에서 데이터 가져 오기
- 12. 서버에서 데이터 가져 오기
- 13. nfq_get_payload에서 데이터 가져 오기
- 14. 데이터베이스에서 데이터 가져 오기
- 15. gridview에서 데이터 가져 오기
- 16. businessaccount에서 데이터 가져 오기
- 17. CSV에서 데이터 가져 오기
- 18. 개체에서 데이터 가져 오기
- 19. PeopleSoft에서 데이터 가져 오기
- 20. 가져 오기 데이터
- 21. memcache에서 데이터 가져 오기
- 22. 인터넷에서 데이터 가져 오기
- 23. JSON에서 데이터 가져 오기
- 24. XMLHttpRequest에서 데이터 가져 오기
- 25. 서버에서 데이터 가져 오기
- 26. dmp에서 데이터 가져 오기
- 27. 데이터베이스에서 데이터 가져 오기.
- 28. 코어 데이터 가져 오기 결과
- 29. Scrubyt 메타 데이터 가져 오기
- 30. 외부 프로그램에서 데이터 가져 오기
답장을 보내 주셔서 감사합니다. 간단한 로그인보기가 있으며 사용자를 위해 암호를 다시 입력 할 필요가 없으므로 암호를 NSUserdefaults에 저장 한 것입니다. Sqlite3 데이터베이스를 사용해야합니까? –
@ rahul-vyas 아니, 키 체인을 사용하는 것이 좋습니다. 몇 줄의 코드입니다 (일단 SFHFKeychainUtils.m을 추가하면 프로젝트에 응답합니다.) – RedBlueThing
NSUserDefaults는 안전하지 않으며 base64 인코딩은 암호화되지 않습니다. 개발 동의서에 필요하다고 생각 하듯이 키 체인을 사용하여 계정 자격 증명을 저장하지 않으면 응용 프로그램이 상점에 허용됩니다. –