
शुद्ध Rust में लिखे गए क्रिप्टोग्राफिक हैश फ़ंक्शनों का संग्रह
शुद्ध Rust में लिखे गए क्रिप्टोग्राफ़िक हैश फ़ंक्शनों का संग्रह।
सभी एल्गोरिदम अलग-अलग क्रेट्स में स्थित हैं और digest क्रेट के ट्रेट्स का उपयोग करके कार्यान्वित किए गए हैं।
उपयोग के उदाहरण digest और हैश कार्यान्वयन क्रेट के दस्तावेज़ों में दिए गए हैं।
इसके अतिरिक्त, सभी क्रेट्स को मानक लाइब्रेरी की आवश्यकता नहीं होती (अर्थात no_std सक्षम) और डिफ़ॉल्ट क्रेट सुविधाओं को अक्षम करके इन्हें आसानी से बेयर-मेटल या WebAssembly प्रोग्रामिंग के लिए उपयोग किया जा सकता है।
विस्तार योग्य आउटपुट फ़ंक्शनों (XOFs) के संग्रह के लिए, RustCrypto/XOFs रिपॉज़िटरी देखें।
नोट: नए अनुप्रयोगों के लिए, या जहाँ अन्य मौजूदा मानकों के साथ संगतता प्राथमिक चिंता नहीं है, हम दृढ़ता से BLAKE3, SHA-2 या SHA-3 में से किसी एक का उपयोग करने की अनुशंसा करते हैं।
नोट: blake3 क्रेट इस रिपॉज़िटरी के बाकी हैशों द्वारा उपयोग किए जाने वाले digest ट्रेट्स को कार्यान्वित करता है, लेकिन इसका रखरखाव BLAKE3 टीम द्वारा किया जाता है।
निम्नलिखित प्रत्येक हैश फ़ंक्शन (अर्थात एल्गोरिदम, विशिष्ट कार्यान्वयन नहीं) से जुड़े सुरक्षा स्तर रेटिंग का वर्णन करता है:
| दिल | विवरण |
|---|---|
| 💚 | कोई ज्ञात सफल हमला नहीं |
| 💛 | सैद्धांतिक भेदन: सुरक्षा दावे से कम |
| 💔 | व्यवहार में हमला प्रदर्शित: यदि संभव हो तो टालें |
अधिक जानकारी के लिए Wikipedia पर सुरक्षा पृष्ठ देखें।
जब भी संभव हो, क्रेट्स को क्रेट फ़ोल्डर के समान नाम से प्रकाशित किया जाता है।
md5 के स्वामियों ने इस परियोजना में भाग लेने से मना कर दिया।
यह क्रेट digest ट्रेट्स को कार्यान्वित नहीं करता है, इसलिए यह RustCrypto इकोसिस्टम के साथ अंतर-संचालनीय नहीं है।
इसीलिए हम अपने MD5 कार्यान्वयन को md-5 के रूप में प्रकाशित करते हैं और इसे ❗ चिह्न से चिह्नित करते हैं।
ध्यान दें कि लाइब्रेरी का नाम स्वयं md5 है, अर्थात use स्टेटमेंट के अंदर आपको md5 का उपयोग करना चाहिए, md_5 का नहीं।
इस रिपॉज़िटरी के सभी क्रेट्स निम्नलिखित में से किसी एक के अंतर्गत लाइसेंस प्राप्त हैं:
आपकी पसंद पर।
जब तक आप स्पष्ट रूप से अन्यथा न कहें, Apache-2.0 लाइसेंस में परिभाषित अनुसार, आपके द्वारा कार्य में शामिल करने के लिए जानबूझकर प्रस्तुत किया गया कोई भी योगदान, बिना किसी अतिरिक्त शर्तों या प्रतिबंधों के, उपरोक्त अनुसार द्वि-लाइसेंस प्राप्त होगा।
| एल्गोरिदम | क्रेट | Crates.io | दस्तावेज़ीकरण | MSRV | सुरक्षा |
|---|
| Ascon-Hash256 | ascon‑hash256 | 1.85 | 💚 | ||
| bash-hash | bash‑hash | 1.85 | 💚 | ||
| BelT हैश | belt‑hash | 1.85 | 💚 | ||
| BLAKE2 | blake2 | 1.85 | 💚 | ||
| FSB | fsb | 1.85 | 💚 | ||
| GOST R 34.11-94 | gost94 | 1.85 | 💛 | ||
| Grøstl (Groestl) | groestl | 1.85 | 💚 | ||
| JH | jh | 1.85 | 💚 | ||
| Kupyna | kupyna | 1.85 | 💚 | ||
| MD2 | md2 | 1.85 | 💔 | ||
| MD4 | md4 | 1.85 | 💔 | ||
| MD5 | md5 ❗ | 1.85 | 💔 | ||
| RIPEMD | ripemd | 1.85 | 💚 | ||
| SHA-1 | sha1 | 1.85 | 💔 | ||
| SHA-1 Checked | sha1-checked | 1.85 | 💛 | ||
| SHA-2 | sha2 | 1.85 | 💚 | ||
| SHA-3 (Keccak) | sha3 | 1.85 | 💚 | ||
| SHABAL | shabal | 1.85 | 💚 | ||
| Skein | skein | 1.85 | 💚 | ||
| SM3 (OSCCA GM/T 0004-2012) | sm3 | 1.85 | 💚 | ||
| Streebog (GOST R 34.11-2012) | streebog | 1.85 | 💛 | ||
| Tiger | tiger | 1.85 | 💛 | ||
| Whirlpool | whirlpool | 1.85 | 💚 |