2009-04-24 2 views
2

세션 ID가 작성되면 ID의 고유성이 보통 점검되지 않습니다. 독창성을 확인하는 것은 수십억 개의 레코드를 처리 할 때 큰 오버 헤드입니다.고유성을 보장하기 위해 세션 ID 문자열 길이를 결정하십시오.

임의의 세션 ID 문자열의 길이가 프로덕션 서비스의 고유성에 의존 할만큼 길어야하는지, 예를 들어 Gmail만큼 큰지 궁금합니다.

올바른 세션 고유성을 유지하기위한 다른 제안을 환영합니다.

감사합니다.

로이. 대신 무작위로 자신의 번호를 생성

답변

9

상당히 좋은 난수 생성기가있는 경우 실제로는 GUID와 같은 임의의 128 비트 ID가 항상 고유해야합니다 (수학적으로 말하자면 중복이있을 가능성은 매우 적지 만 저를 신뢰하십시오 GUIDE가 중복되기 전에 거대한 블랙홀에서 우주가 무너질 것입니다.)

+0

Woot 방금 전 당신에게 10k를주었습니다 : D –

+0

Ólafur Waage : 예! –

3

, 왜 안 ...

  • 사용하십시오 GUID (128 비트)
  • 사용하여 년, 월, 일,시, 분의 포함 된 문자열 초, 밀리 초 또는 나노 초

128 비트 난수를 사용하면 3.40282366921e + 38의 확률로 복제본을 얻을 수 있습니다. 당신의 숫자가 정말로 무작위라고 가정합니다.

0

일부 사용자 데이터의 SHA-256 해시와 최대 재시작 횟수가있는 현재 전체 시간입니다. 사용할 수 있으면 충분히 고유 한 것을 얻을 수 있습니다.

관련 문제