2011-01-21 2 views
1

내 문자열의 체크섬 인덱스를 만들어 응용 프로그램 검색 속도를 높이고 싶습니다.검색 속도를 높이기위한 좋은 체크섬

CRC32는 충분한가요? 나는 보안을 위해서 그것을 사용하지 않는다. 문자열을 해시 (정수/Long) 인덱스로 표현하는 방법.

답변

2

체크섬이 아닌 해시 코드를 찾고 있습니다. CRC32는 훌륭하지만 아주 효율적이지 않아야합니다. Adler32 (zlib에서 사용)를 살펴보면 더 빨리 계산할 수 있습니다.

+0

위의 답장을 참조하십시오. 이것은 나에게 아주 잘 맞을 것이다. – user432024

2

Hash function 당신이 바퀴를 재발견하려고, 또는이 경우 hash table에 있는가 참조?

CRC32는 체크섬 계산 용이며 빠른 해시 함수가 아니며 파일의 오류 (변경 사항)를 감지하도록 설계되었습니다. 귀하의 필요에 따라, non-cryptographic hash functions을보고 싶을 수도 있습니다.

+1

또는 embeddable search/DB 엔진을 사용하면 OR/AND 등의 쿼리 인터페이스를 사용할 수 있습니다. – gertas

+0

실제로 인덱싱 기능이있는 분산 캐시를 사용하고 있습니다. 내 Db 레코드를 캐시에로드합니다. 캐시에 항목을 추가 할 때 오히려 원래 문자열 값 대신 정수 해시를 색인화해야합니다. 훨씬 빨리 안돼? – user432024

+0

Java를 사용하고 있지만 myString.hashCode()가 충돌을 일으킬 수 있음을 알고 있습니까? – user432024

관련 문제