निम्नलिखित कोड फॉरवर्ड-हैश में उपयोग किए गए सीआरसी 32 को दिखाता है (जहां हम एक ही आइटम को लगातार संदर्भ के साथ कई बार हैश करते हैं):
In [1]: from zlib import crc32
In [2]: crc32('aaaa')
Out[2]: -1382488763
In [3]: crc32('aaaa',-1382488763)
Out[3]: -1081835450
In [4]: crc32('aaaa' * 2)
Out[4]: -1081835450
मेरा सवाल यह है: -1382488763
के ज्ञात प्रारंभिक crc को देखते हुए, क्या हम मूल सामग्री को जाने बिना फॉरवर्ड हैश के मूल्य का अनुमान लगा सकते हैं? स्पष्ट करने के लिए... क्या मैं -1081835450 -1382488763 अकेले से प्राप्त कर सकता हूं?
1 उत्तर
नहीं। crc32()
एक प्रारंभिक सीआरसी लेता है, उस पर संदेश लागू करता है, और परिणामी सीआरसी प्राप्त करता है। आपको संदेश चाहिए।
यदि आप aaaa
को जाने बिना crc32('aaaa',-1382488763)
निर्धारित कर सकते हैं, तो crc32()
फ़ंक्शन को पहले तर्क की आवश्यकता क्यों होगी?
यदि आप जानना चाहते हैं कि क्या आप किसी संदेश की पुनरावृत्ति के सीआरसी की गणना कर सकते हैं, केवल बिना दोहराए गए संदेश के सीआरसी दिए गए हैं, तो नहीं। हालाँकि यदि आप संदेश की सीआरसी और संदेश की लंबाई जानते हैं, तो हाँ आप उस संदेश के दो या अधिक दोहराव के सीआरसी की गणना कर सकते हैं, बिना संदेश को जाने। जैसा कि आप टिप्पणियों में नोट करते हैं, वही है जो crc32_combine()
zlib में करता है।
संबंधित सवाल
नए सवाल
hash
एक हैश फ़ंक्शन किसी भी अच्छी तरह से परिभाषित प्रक्रिया या गणितीय फ़ंक्शन है जो बड़ी मात्रा में डेटा को एक छोटे से डेटाटम में परिवर्तित करता है, आमतौर पर एक पूर्णांक। सोशल मीडिया पर सामग्री को लेबल करने के लिए उपयोग किए गए हैशटैग के बारे में प्रश्नों के लिए, हैशटैग का उपयोग करें। URL और HTML एंकर के बारे में प्रश्नों के लिए, खंड-पहचानकर्ता का उपयोग करें। रूबी के हैश प्रकार के बारे में प्रश्नों के लिए, रूबी-हैश का उपयोग करें।