C# 및 asp.net mvc에서 URL 단축 시스템을 만들려고합니다. 나는 해시 테이블에 대해 알고 있고 리다이렉트 시스템 등을 만드는 방법을 알고있다. 문제는 데이터베이스에서 긴 URL을 인덱싱하는 것이다. 일부 URL의 문자 길이는 최대 4000 자까지 될 수 있으며 이러한 종류의 문자열을 색인화하는 것은 좋지 않은 것 같습니다. 질문 : 각 URL에 대해 고유 한 짧은 문자열을 만들려면 어떻게해야합니까? 예를 들어 MD5가 도와 줄 수 있습니까? MD5는 각 문자열마다 정말 고유합니까?각각의 고유 한 긴 문자열에 대해 짧은 고유 문자열 만들기
참고 : Gravatar는 이메일에 MD5를 사용하므로 각 이메일 주소가 고유하면 MD5 해시 값이 고유합니다. 맞아? URL에 대해 동일한 솔루션을 사용할 수 있습니까?
MD5는 128 비트이므로 충분히 고유 할 것입니다. –
충돌을 피하기 위해 [완벽한 해시 함수] (http://en.wikipedia.org/wiki/Perfect_hash_function)를 찾으십시오. – HABO
@HABO 좋은 기사와 좋은 해결책. 제안을 답으로 게시하여 받아 들일 것입니다. 덕분에 –