Ruby의 해시 함수 알고리즘이란 무엇입니까? 1901 :Ruby는 어떤 해시 함수를 사용합니까?
13
A
답변
18
는 표준 루비 구현은 일부 유형 (정수, 문자열) string.c에서
에 대한 Murmur hash를 사용
/* MurmurHash described in http://murmurhash.googlepages.com/ */
static unsigned int
hash(const unsigned char * data, int len, unsigned int h)
(이 기능은에 st_hash
로 이름이 변경 될 것으로 보인다 있습니다 SVN 트렁크)
소스 코드에서 rb_memhash
을 검색하면 어디서 사용되는지 알 수 있습니다. 이전에 자체 프로젝트에서 Murmur2 해시를 사용했지만, 매우 빠르며 우수한 암호화 속성을 가지고 있습니다 (그러나 암호화 해시 함수로 사용하기에 충분하지 않습니다).
+3
Murmur2는 훌륭한 분포를 가지고 있지만, 암호화 해싱에 필요하지만, 충분치 않은. 즉, 해시가 의도적 인 조작에 저항하지 않습니다. –
관련 문제
- 1. 어떤 암호 해시 함수를 사용해야합니까?
- 2. Linux의 Ruby는/dev/random을 사용합니까?
- 3. 왜 Ruby는 respond_to를 사용합니까? responds_to 대신에?
- 4. 실제로 해시 테이블을 사용합니까?
- 5. 어떤 데이터 형식이 해시 값에 대해 SQL Server 2008을 사용합니까
- 6. 빠른 해시 함수를 찾고
- 7. 정렬 된 숫자 목록을 해시하려면 어떤 해시 함수를 사용해야합니까?
- 8. 해시 함수를 길게 한 쌍의?
- 9. htmlspecialchars() 함수를 언제 사용합니까?
- 10. 어떤 joomla 모듈을 사용합니까?
- 11. 어떤 소프트웨어를 스크럼에 사용합니까?
- 12. Ghuloum은 어떤 제도를 사용합니까?
- 13. 어떤 아키텍처가 system.runtime.serialization.ISerializable을 사용합니까?
- 14. jquery.com은 어떤 툴팁을 사용합니까?
- 15. MaxJSONlength는 어떤 용도로 사용합니까?
- 16. mod_rewrite는 어떤 모듈을 사용합니까?
- 17. httpclient는 어떤 포트를 사용합니까?
- 18. 해시 키에는 어떤 문자가 유효합니까?
- 19. Go에서 .Read 함수를 어떻게 사용합니까?
- 20. 파이썬에서 max 함수를 어떻게 사용합니까?
- 21. 정적 멤버 함수를 언제 사용합니까?
- 22. 어떤 mysqli 함수를 사용해야합니까?
- 23. 쿼리 처리기를 사용합니까? 그렇다면 어떤 작업을 수행합니까?
- 24. Ruby는 Python의 help()와 동일합니까?
- 25. 해시 테이블은 얼마나 많은 메모리를 사용합니까?
- 26. Ruby는 정규식의 일부분으로 나누었습니다
- 27. Ruby는 GUI 개발에 적합합니까?
- 28. 다국어 솔루션에 어떤 조합을 사용합니까?
- 29. Tumblr은 어떤 템플릿 언어를 사용합니까?
- 30. 주요 브라우저는 어떤 엔진을 사용합니까?
Ruby에는 공식 사양이 없기 때문에 올바른 답변이 정확한지 의심 스럽습니다. 어쨌든 왜 이것을 알아야합니까? – polygenelubricants
무엇의 해시 기능? 문자열? 번호? 사물? – kennytm
나는 그가 다음과 같은 것을 의미한다고 생각한다. http://www.ruby-doc.org/core-1.9.3/Bignum.html#method-i-hash – James