मैं जावास्क्रिप्ट में लागू कम टक्कर के साथ एक तेज़ हैश की तलाश में हूं। इसे एक क्रिप्टो हैश होने की आवश्यकता नहीं है। मैं मूल रूप से इसका उपयोग यह देखने के लिए कर रहा हूं कि किसी दिए गए फ़ाइल को उपयोगकर्ता के खाते में अपलोड (या आंशिक रूप से अपलोड किया गया है) ताकि उन्हें बड़ी (वीडियो) फ़ाइलों पर कुछ अपलोड समय बचाया जा सके।फाइलों के लिए जावास्क्रिप्ट में फास्ट लो-टकराव गैर-क्रिप्टो हैश
मैं फ़ाइल के स्लाइस में पढ़ने के लिए नई HTML5 फ़ाइल एपीआई का उपयोग कर रहा हूं। मैं इसे फाइल के हैश देने के लिए SparkMD5 पर इसे बंद कर देता हूं। मुझे यह तथ्य पसंद है कि स्पार्कएमडी 5 मुझे एक वृद्धिशील हैश करने की इजाजत देता है इसलिए मुझे पूरी चीज को स्मृति में पढ़ने की ज़रूरत नहीं है।
कुल मिलाकर, स्पार्कएमडी 5 मेरी ज़रूरतों के लिए काम करता है लेकिन बड़ी फ़ाइलों के लिए मुझे अपना हैश (300 एमबी फ़ाइल के लिए लगभग 30 सेकंड) प्राप्त करने में कुछ समय लग सकता है। मैं आदर्श रूप से इसे कम करना चाहता हूं। मैं हैश फ़ंक्शंस पर जानकार नहीं हूं इसलिए मैं कुछ बंदरगाह नहीं देख रहा हूं और आदर्श रूप से पहले से ही लागू लाइब्रेरी की तलाश में हूं।
क्या एक स्वीकार्य अवधि हो सकता है? आप सीआरसी 32 में देख सकते हैं, जो एमडी 5 से तेज होना है, लेकिन यह ध्यान देने योग्य नहीं हो सकता है और आपको शायद उच्च टक्कर दर मिल जाएगी। – Graham
हाँ, मैंने सीआरसी 32 देखा लेकिन कहीं कहीं पढ़ा कि टक्कर दर% 0.4 है। मुझे यह जानने के लिए पर्याप्त जानकारी नहीं है कि यह सच है लेकिन ऐसा लगता है कि दूसरों को यह संकेत मिलता है कि इसकी उच्च टक्कर दर भी थी। –
अपने प्रश्न का उत्तर देने के लिए मैं आदर्श रूप से 1 जीबी फ़ाइल के लिए कुछ सेकंड लेना चाहता हूं। मुझे नहीं पता कि यह यथार्थवादी है या नहीं। –