2010-07-17 21 views
13

रूबी के हैश फ़ंक्शन एल्गोरिदम क्या है?रुबी का क्या उपयोग है?

+4

रूबी के पास आधिकारिक विशिष्टता भी नहीं है, इसलिए मुझे संदेह है कि एक सही सही उत्तर है। किसी भी मामले में, आपको यह जानने की आवश्यकता क्यों है? – polygenelubricants

+5

क्या हैश का काम? तार? नंबर? वस्तुओं? – kennytm

+0

मुझे लगता है कि उसका मतलब कुछ है http://www.ruby-doc.org/core-1.9.3/Bignum.html#method-i-hash – James

उत्तर

18

मानक रूबी कार्यान्वयन का उपयोग करता कुछ प्रकार (पूर्णांक, स्ट्रिंग)

string.c से के लिए Murmur hash: 1901:

/* MurmurHash described in http://murmurhash.googlepages.com/ */ 
static unsigned int 
hash(const unsigned char * data, int len, unsigned int h) 

(ध्यान दें कि यह समारोह में st_hash को नाम दिया जा रहा है कि एसवीएन ट्रंक)

स्रोत कोड में rb_memhash के लिए खोजें यदि आप जानना चाहते हैं कि यह कहां उपयोग किया जाता है। मैंने पहले अपनी परियोजना में मुर्मूर 2 हैश का उपयोग किया है, यह बहुत तेज है और इसमें अच्छी क्रिप्टोग्राफिक गुण हैं (लेकिन क्रिप्टोग्राफिक हैश फ़ंक्शन के रूप में उपयोग करने के लिए पर्याप्त नहीं है)।

+3

मुर्मूर 2 में उत्कृष्ट वितरण है, लेकिन यह क्रिप्टोग्राफिक हैशिंग के लिए आवश्यक है, लेकिन यह है अपर्याप्त। दूसरे शब्दों में, हैश * जानबूझकर * छेड़छाड़ करने के लिए प्रतिरोधी नहीं है। –

संबंधित मुद्दे