2011-09-10 6 views

답변

3

저는 Windows Live SDK에 익숙하지 않지만 해시는 일반적으로 편도 편도입니다. 예를 들어 전자 메일 주소의 처음 두 글자를 가져 오는 것은 해시 일 수 있습니다. 매우 나쁜 하나의 해시이지만 그럼에도 불구하고 해시입니다. 해시 포인트 (암호화 용어)는 원본 데이터를 저장/공개하지 않고 두 소스 값이 동일 할 가능성이 있는지를 신속하게 결정할 수 있어야합니다.

다른 말로하면 : 우리가 말하고있는 해시 유형에 대해 옳다고 가정하면 원래 이메일 주소로 돌아갈 수 없습니다.

EDIT : email hash described here과 같은 종류라고 가정하면 암호 편도 해시 인 SHA-256을 사용합니다. 여기에서 해싱의 요점은 사용자의 연락처 중 어떤 것이 이미 사이트의 사용자인지 (또는 무엇이든) 볼 수 있지만 일반 텍스트로 사용자의 연락처를 노출하지 않고 자신의 개인 정보를 침해하지 않을 수 있다는 것입니다.

+0

아니 사실은 내가 기본적으로는 응답 email_hash을 반환, 윈도우 라이브 SDK를 사용하여 contcats를 가져 오는 없습니다 의미. 다른 솔루션을 알고 있다면 나와 공유하십시오. 감사합니다. – Lucky

+0

@ 럭키 : 좋아요, 편집하겠습니다. 근본적으로는 같은 거래가 될 것입니다 : 해시가 반환되면 다시 액세스 할 수 없습니다. 실물. –

+0

감사합니다. Jon, 정확히 이것은 요점입니다! – Lucky

5

나는 Jon과 합의했다. 해시는 일방적입니다. 즉, 일반적으로는 발생하지 않지만 두 개의 이메일 주소가 동일한 해시를 공유 할 수 있습니다. "디코딩"되도록 설계되지 않았습니다. 즉, 암호화 (SO answer on how they're used)입니다. 요점은 당신이 에 이미가있는 이메일 주소 또는 당신 주소에 대하여 그것을 검사 할 수있게하기위한 것입니다.

Microsoft는 자신의 웹 사이트에 some sample code을 가지고 있습니다.이 웹 사이트는 찾고있는 것과 다를 수 있지만 귀하의 웹 사이트에 자신의 전자 메일 주소를 제공 한 사용자의 연락처 목록을 쿼리하는 것처럼 보입니다. 그러면 Microsoft는 전자 메일 해시 된 연락처 목록을 볼 수 있습니다. 이는 개인 정보 보호를 위해 수행되므로 누군가의 연락처 목록에있는 모든 이메일을 수집 할 수는 없습니다.

실제로 구현되는 방법의 예를 보려면 Facebook의 Friend Finder 기능을 생각해보십시오. 이메일 주소를 입력하고 해시 된 이메일 주소를받은 다음 등록 된 사용자의 해시 된 이메일 주소와 비교하여 일치하는 항목을 찾습니다. (FB의 실제 구현은 내가 제안하는 것과 조금 다를 수 있습니다.)

+0

Bryan과 Jon Skeet에게도 감사의 말을 전하고 싶습니다. 실제로 Gmail, yahoo, hotmai, live 및 msn을 사용하여 지정된 사용자의 주소록에서 연락처를 가져 오려고했습니다.Gmail 및 야후에서 작동하지만 hotmail/라이브에 대해서는 언급하지 않았습니다. – Lucky

+0

@ 럭키 : 실제 이메일 주소 *를 얻으려면 * 다른 API 호출을 사용해야합니다. 나는 그러한 호출이 존재하는지 모르지만, 기본적으로 이메일 해시를 원본으로 가져올 수는 없습니다. –

13

나는 동일한 문제가 있었으며 해결책을 찾았습니다. 요청하는 범위 목록에 다음 범위를 추가하기 만하면됩니다. "wl.contacts_emails"

WL.login({scopes: ["wl.contacts_emails"]}); 

후 내가 모든 범위를 재설정하고 두 번째 내 응용 프로그램을 추가 내 프로필에서 내 응용 프로그램을 제거해야한다는 않았다. (그러나, 당신이 당신의 앱을 사용하는 모든 사람들에게 물어보고 싶지 않다면, 사용자에게 앱을 다시 추가하도록 비밀 토큰을 재설정 할 수 있습니다.)

최저

, 티에리

+0

은 매력처럼 작동했습니다. 고맙습니다! – tshenolo

+0

일했습니다! 감사! –

관련 문제