
शुद्ध Rust में लिखे गए क्रिप्टोग्राफिक हैश फ़ंक्शनों का संग्रह
[![Project Chat][chat-image]][chat-link] [![dependency status][deps-image]][deps-link] ![Apache2/MIT licensed][license-image]
शुद्ध Rust में लिखे गए [क्रिप्टोग्राफ़िक हैश फ़ंक्शनों][1] का संग्रह।
सभी एल्गोरिदम अलग-अलग क्रेट्स में स्थित हैं और [digest] क्रेट के ट्रेट्स का उपयोग करके कार्यान्वित किए गए हैं।
उपयोग के उदाहरण digest और हैश कार्यान्वयन क्रेट के दस्तावेज़ों में दिए गए हैं।
इसके अतिरिक्त, सभी क्रेट्स को मानक लाइब्रेरी की आवश्यकता नहीं होती (अर्थात no_std सक्षम) और डिफ़ॉल्ट क्रेट सुविधाओं को अक्षम करके इन्हें आसानी से बेयर-मेटल या WebAssembly प्रोग्रामिंग के लिए उपयोग किया जा सकता है।
[विस्तार योग्य आउटपुट फ़ंक्शनों (XOFs)][XOF] के संग्रह के लिए, [RustCrypto/XOFs] रिपॉज़िटरी देखें।
नोट: नए अनुप्रयोगों के लिए, या जहाँ अन्य मौजूदा मानकों के साथ संगतता प्राथमिक चिंता नहीं है, हम दृढ़ता से [BLAKE3][blake3], SHA-2 या SHA-3 में से किसी एक का उपयोग करने की अनुशंसा करते हैं।
| एल्गोरिदम | क्रेट | Crates.io | दस्तावेज़ीकरण | MSRV | सुरक्षा |
|---|---|---|---|---|---|
| [Ascon-Hash256] | [ascon‑hash256] | 1.85 | 💚 | ||
| [bash-hash][STB 34.101.77-2020] | [bash‑hash] | 1.85 | 💚 | ||
| [BelT] हैश | [belt‑hash] | 1.85 | 💚 | ||
| [BLAKE2] | [blake2] | 1.85 | 💚 | ||
| [FSB] | [fsb] | 1.85 | 💚 | ||
| [GOST R 34.11-94][GOST94] | [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 | 💚 |
नोट: [blake3] क्रेट इस रिपॉज़िटरी के बाकी हैशों द्वारा उपयोग किए जाने वाले digest ट्रेट्स को कार्यान्वित करता है, लेकिन इसका रखरखाव BLAKE3 टीम द्वारा किया जाता है।
निम्नलिखित प्रत्येक हैश फ़ंक्शन (अर्थात एल्गोरिदम, विशिष्ट कार्यान्वयन नहीं) से जुड़े सुरक्षा स्तर रेटिंग का वर्णन करता है:
| दिल | विवरण |
|---|---|
| 💚 | कोई ज्ञात सफल हमला नहीं |
| 💛 | सैद्धांतिक भेदन: सुरक्षा दावे से कम |
| 💔 | व्यवहार में हमला प्रदर्शित: यदि संभव हो तो टालें |
अधिक जानकारी के लिए Wikipedia पर सुरक्षा पृष्ठ देखें।
जब भी संभव हो, क्रेट्स को क्रेट फ़ोल्डर के समान नाम से प्रकाशित किया जाता है।
md5 के स्वामियों ने इस परियोजना में भाग लेने से मना कर दिया।
यह क्रेट [digest] ट्रेट्स को कार्यान्वित नहीं करता है, इसलिए यह RustCrypto इकोसिस्टम के साथ अंतर-संचालनीय नहीं है।
इसीलिए हम अपने MD5 कार्यान्वयन को md-5 के रूप में प्रकाशित करते हैं और इसे ❗ चिह्न से चिह्नित करते हैं।
ध्यान दें कि लाइब्रेरी का नाम स्वयं md5 है, अर्थात use स्टेटमेंट के अंदर आपको md5 का उपयोग करना चाहिए, md_5 का नहीं।
इस रिपॉज़िटरी के सभी क्रेट्स निम्नलिखित में से किसी एक के अंतर्गत लाइसेंस प्राप्त हैं:
आपकी पसंद पर।