2016-07-15 2 views
0

개인 데이터를 저장하지 않고 기본 키로 사용할 수 있도록 전자 메일을 처리하는 데 사용할 수있는 최선의 일방 통행 기능은 무엇입니까?기본 키 암호화 편도

나는 목표로하는 역학에 기반한 간단하면서도 (중독성있는) 중독성 2D 캐주얼 퍼즐을 준비 중입니다. Unity로 제작되었으며 곧 Android에 출시 될 예정입니다.

플레이어가 서로 다른 장치에 동일한 데이터를 유지하려면 장치 전자 메일을 기본 키로 사용하고 다른 문자열을 저장 게임 데이터로 사용하는 SQL 테이블이 있어야합니다.

하지만 개인 정보 보호를 위해 사용자의 전자 메일을 저장하고 싶지 않습니다. (

  • 이 고유 다른 전자 메일에서 생성 된 다른 문자열과 충돌하지 않습니다 :

    그래서 나는 그 새로운 문자열을 생성하는 원본 전자 메일을 사용하는 것이 일부 기능을 소화 생각 주소)
  • 이 decypherable되지 않습니다 (소화 문자열에서 원본 전자 메일을 얻을 수있는 방법이 없을 것 - 또는 적어도 그것은

이 방법 난 여전히 안드로이드 장치를 사용할 수있다) 충분히 열심히해야한다 전자 메일을 통해 세이브 게임 데이터를 검색합니다. 플레이어로부터 개인 데이터를 저장하고 있습니다.

필자가 조사한 한 솔루션은 편도 순열 기능 인 이라고합니다. 문제는 인터넷에서 적절한 기능을 찾지 못하는 것입니다. 대신, 모든 해답은 암호 해싱을위한 솔루션으로 괴롭 히고 있는데, 이는 매우 흥미 롭습니다 (소금기가 있고, MD5, SHAXXX ...). 그러나 충돌이없는 첫 번째 요구 사항을 충족시키지 못합니다.

이 주제에 대한 답변을 미리 감사드립니다.

+0

감사합니다,하지만 대답은 매우 유용하지만 첫 번째 요구 사항을 충족시키지 못합니다. 결코 충돌하지 않습니다. 예, 그것은 거의 불가능하지만, 이것은 사용자를 식별하는 데이 함수를 사용할 것이기 때문에 제 경우에는 매우 중요한 요구 사항입니다. 누군가가 게임을 시작하고 다른 플레이어의 savegame을 찾으면 아주 좋지 않을 것입니다. 다른 플레이어가 낯선 사람이 자신의 저장 게임 데이터를 지웠다는 것을 알지도 못합니다. 나는 당신의 대답을 받아들이면 아무도 더 좋은 제안을하려고하지 않을까 우려합니다. 그래서 조금 더 기다리면 제발 이해해주세요. 감사! – EJSainz

+4

아, 우주가 끝날 때까지 게임을 확장하게 될 것이라는 것을 깨닫지 못했습니다.이 경우 SHA-256으로 충분하지 않습니다. – zaph

+1

하지만 파워 볼 (Power Ball) 수상자가 아닌 "매우 희한한 것"이 다릅니다.SHA-256 충돌, 코드의 심각한 보안 버그 또는 서버 공격 성공에 대한 생각이 있습니다. – zaph

답변

1

필요한 것은 SHA-256과 같은 암호화 해시 함수입니다. 이러한 함수는 충돌 방지를 위해 설계되었으며, Git은 이전 버전 인 SHA-1을 사용합니다. 대부분의 언어/시스템은이 언어를 지원합니다. Google의 "Android SHA-256"은 선택한 언어와 함께 제공됩니다.

하나의 옵션은 생성 타임 스탬프를 추가하는 것입니다.

업데이트 : SHA-256은 충분한 충돌 저항을 제공하지 않기 때문에의 고려 GUID, RFC 4122에서 : ". UUID는 128 비트 길이이며, 수 보증 공간과 시간에 걸쳐 고유성". 물론 좋은 구현을 찾아야합니다.

+0

안녕하세요, @zaph, 답변에 많은 감사드립니다. 나는 SHA와 다른 해쉬 함수를 생각하고 독서를했다. 동료 동료들과상의하고 대답을 읽은 후에 나는 약간의 연구를했고 [이 답변]을 발견했다. (http://stackoverflow.com/questions/4014090/is-it- SHA-256을 사용하는 것은 충분히 좋은 아이디어 일 것입니다. 그게 충분히 좋을 것 같지만 완벽하지는 않습니다. 그래서 완벽한 해결책이 생길 때를 대비해서 조금 더 기다릴 것입니다. 그렇지 않다면 답은 당신 것입니다 :-). – EJSainz

+0

답변이 완벽하지는 않지만 지금까지는 그것이 가장 좋은 근사치라는 것은 의심의 여지가 없습니다. 대단히 감사합니다, @zaph :-). – EJSainz