여러분들 혹시 이런 해시(hash) 알고리즘 보신적 있으세요?

superwtk의 이미지

f(superwtk) = 1eDvQ

다른 아이디로도 테스트 해봤는데, 항상 결과값은 5자리였습니다.

다음(daum.net)에서 사용하고 있습니다. 댓글 신고할때 POST로 writeruserid 라는 이름으로 원래의 아이디(superwtk)대신 저 값(1eDvQ)이 넘어가더라구요..

hash인지 아닌지는 확실하지 않지만 왠지 그럴것 같습니다 :!:

이게 뭘까요.. 다음에서 자체적으로 만든걸까요?

chaeso의 이미지

음.. 그냥 SHA-1 같은 해쉬함수를 써서 해슁한 후
인코딩을 저런식으로 한게 아닐까요?

superwtk의 이미지

흠.. SHA1은 해시 결과물이 20바이트인데.. 인코딩한 결과는 5바이트..? MD5나 SHA1같은 해시 함수 결과물의 일부분을 잘라서 사용했을지도 모르겠군요.. 근데 그렇게 일부분만 잘라서 사용하면 충분한 충돌 회피를 보장받을 수 있나요?

소타의 이미지

딱 보면 숫자와 영문대소문자 5글자로 이루어져 있는데요..
(10(숫자 0~9) + 26(영문소문자) + 26(영문대문자))의 5승이면 약 9억이 나옵니다.. 다음이 국내에만 서비스 한다고 하면 별 무리없는 숫자일것 같네요

glancing의 이미지

바로 윗분 말씀대로,
해쉬가 아니라 혹시 숫자로 된 id를 문자로 encoding
한거 아닐까요? 1, 2, 3, 4, ... 이렇게 숫자로
key를 주고 있을지 혹시...

--
상일

세이군의 이미지

숫자+영문자 소문자+영문자 대문자 를 도메인으로 하는 일련 번호입니다.
이 방식은 다음 전반에 걸쳐서 사용되는 방식입니다.
계산순서는 숫자->영문자 대문자-> 영문자 소문자입니다.
초기에 블로그를 개설해서 사용하는 사람의 경우 0000?입니다.

62진법으로 값을 해석하면 어떤 숫자가 나올것입니다.
그 값이 흔히 사용하는 방식에서의 일련번호입니다.

세이군의 이미지

숫자+영문자 소문자+영문자 대문자 를 도메인으로 하는 일련 번호입니다.
이 방식은 다음 전반에 걸쳐서 사용되는 방식입니다.
계산순서는 숫자->영문자 대문자-> 영문자 소문자입니다.
초기에 블로그를 개설해서 사용하는 사람의 경우 0000?입니다.

62진법으로 값을 해석하면 어떤 숫자가 나올것입니다.
그 값이 흔히 사용하는 방식에서의 일련번호입니다.