MurmurHash3_x86_32() बीज पैरामीटर की अपेक्षा करता है। मुझे किस मूल्य का उपयोग करना चाहिए और यह क्या करता है?मुर्मूरहाश 3 बीज पैरामीटर क्या है?
उत्तर
बीज पैरामीटर हैश फ़ंक्शन को यादृच्छिक बनाने का एक माध्यम है। हैशिंग फ़ंक्शन के उसी एप्लिकेशन में आपको हैशिंग फ़ंक्शन के सभी कॉल के लिए समान बीज मान प्रदान करना चाहिए। हालांकि, आपके आवेदन के प्रत्येक आमंत्रण (यह मानते हुए कि यह एक नई हैश तालिका बना रहा है) एक अलग बीज का उपयोग कर सकते हैं, उदाहरण के लिए, एक यादृच्छिक मान।
यह क्यों प्रदान किया जाता है?
एक कारण यह है कि हमलावर सेवा हमले से इनकार करने के लिए हैश फ़ंक्शन के गुणों का उपयोग कर सकते हैं। वे आपके हैश फ़ंक्शन पर स्ट्रिंग प्रदान करके ऐसा कर सकते हैं कि आपके हैश तालिका के प्रदर्शन को नष्ट करने वाले समान मूल्य के लिए सभी हैश। लेकिन यदि आप अपने कार्यक्रम के प्रत्येक भाग के लिए एक अलग बीज का उपयोग करते हैं, तो हमलावरों के तारों का सेट परिवर्तनों का उपयोग करना चाहिए।
देखें: Effective DoS on web application platform
वहाँ भी एक Twitter tag for #hashDoS
seed
नाम का एक मूल्य यहां नमक के लिए खड़ा है। किसी भी यादृच्छिक लेकिन निजी (आपके लिए ऐप) डेटा प्रदान करें, इसलिए हैश फ़ंक्शन एक ही डेटा के लिए अलग-अलग परिणाम देगा। उदाहरण के लिए इस सुविधा का उपयोग तीसरे व्यक्तियों द्वारा मूल डेटा के संशोधनों का पता लगाने के लिए आपके डेटा का पाचन बनाते हैं। जब तक वे आपके द्वारा उपयोग किए जाने वाले नमक को नहीं जानते हैं, तब तक वे शायद वैध हैश मान को दोहरा सकते हैं।
नमक (या बीज) का उपयोग विभिन्न डेटा के लिए हैश टकराव को रोकने के लिए भी किया जाता है। उदाहरण के लिए, आपका डेटा ब्लॉक ए और बी एक ही हैश उत्पन्न कर सकता है: एच (ए) == एच (बी)। लेकिन यदि आप कुछ प्रकार के अतिरिक्त डेटा प्रदान करते हैं तो आप इस विरोधाभासी स्थिति से बच सकते हैं। टकराव काफी दुर्लभ हैं, लेकिन कभी-कभी नमक डेटा के ठोस सेट के लिए उनसे बचने का एक तरीका है।
वास्तव में यह संदिग्ध है। _non-cryptographic_ हैश फ़ंक्शन के लिए 'सॉल्ट' का उद्देश्य क्या है? – Lol4t0
मुर्मूरशैश एक गैर-क्रिप्टोग्राफिक हैश फ़ंक्शन है। यह _secure_ संदेश पचाने के लिए उपयुक्त विकल्प नहीं है। –
दिया प्राप्ति seed
में है प्रारंभ वेक्टर के निर्माण में प्रयोग किया जाता है। यह मनमाना मूल्य है, विभिन्न डेटा के लिए अलग-अलग मूल्यों को चुनने से टक्कर दर कम हो जाएगी। लेकिन ध्यान दें, आपको seed
- data
की जोड़ी जाननी चाहिए।
- 1. बीज
- 2. पैरामीटर में 3 बिंदु क्या हैं?/एक परिवर्तनीय arity (...) पैरामीटर क्या है?
- 3. रेल 3: विकास डेटाबेस से बीज डेटा बनाएं
- 4. एएसपी.नेट एमवीसी 3 - पैरामीटर
- 5. एन्क्रिप्शन बीज
- 6. DropCreateDatabaseAlways बीज
- 7. कोणीय बीज परियोजना में, अनुक्रमणिका-async.html का बिंदु क्या है?
- 8. रनिंग रेक डीबी: बीज बीज से लोड नहीं हो रहा है। आरबी
- 9. रैंड बदलते बीज
- 10. पाइथन यादृच्छिक बीज
- 11. ककड़ी परीक्षणों में बीज डेटा
- 12. ऑटोऑम्बर बीज रीसेट करें
- 13. बीज() और अजगर
- 14. जावा में सिक्योररैंडम सुरक्षित बीज
- 15. समय से बेहतर बीज (0)?
- 16. Math.random पर सेट करें बीज()
- 17. रेल 3 में link_to t() क्या है?
- 18. बीज विधि को EntityFramework CodeFirst
- 19. यादृच्छिक संख्या जनरेटर के बीज
- 20. रेल 3 रूटिंग - से routes.rb गुजर पैरामीटर
- 21. रेल 3 UJS: पैरामीटर में पासिंग जब
- 22. पैरामीटर क्या है: _ * स्कैला में मतलब है?
- 23. "स्ट्रिंग तर्क []" क्या है? मुख्य विधि जावा पैरामीटर में पैरामीटर
- 24. django - दृश्य पैरामीटर पैरामीटर में क्या होता है जब दृश्य को पैरामीटर की आवश्यकता होती है?
- 25. एक यादृच्छिक संख्या उत्पन्न करने के मामले में एक बीज क्या है?
- 26. स्प्रिंग 3
- 27. क्या यह अभी भी पायथन 3 बनाम पायथन 3 है?
- 28. अमेज़ॅन सरल डीबी पहचान बीज बराबर
- 29. एंड्रॉइड के आईसीकल पैरामीटर क्या है?
- 30. Parcel.readStringArray() के लिए पैरामीटर क्या है?
यह [सार्वभौमिक हैशिंग] (http://en.wikipedia.org/wiki/Universal_hashing) के विचार से बिल्कुल संबंधित नहीं है, बल्कि एक हैश फ़ंक्शन होने के बजाय, आपके पास एक संपूर्ण परिवार है (इसमें मामला, मुर्मूरशैश 3 परिवार है, प्रत्येक संभावित बीज मूल्य के साथ आपको उस परिवार के भीतर एक विशेष कार्य देता है)। यदि आपको लगता है कि आपका इनपुट डेटा बुरी तरह वितरित हैश (उदाहरण के लिए, हमले की वजह से) उत्पन्न होता है, तो आप एक नया यादृच्छिक बीज मान चुन सकते हैं और डेटा को फिर से चला सकते हैं; डेटा आपके नए बीज मूल्य के लिए खराब वितरण का उत्पादन करने की संभावना नहीं है, इसलिए आप हमले को हराते हैं। –