उपयोग कैसे करें
- टेक्स्ट या हेक्स बाइट दर्ज करें, या किसी फ़ाइल की सामग्री हैश करने के लिए “फ़ाइल खोलें” पर क्लिक करें।
- “आउटपुट प्रकार” चुनें: sha512sum जैसे चेकसम के लिए हेक्स, इंटीग्रिटी स्ट्रिंग के लिए Base64।
- जाँचने के लिए अपेक्षित मान को “इससे तुलना करें” फ़ील्ड में पेस्ट करें; हेक्स और Base64 दोनों स्वीकार किए जाते हैं।
- SHA-384 चाहिए? उसे “एल्गोरिदम” में चुनें या “सभी एल्गोरिदम” तालिका से कॉपी करें।
SHA-512 क्या है?
SHA-512 सबसे लंबे आउटपुट वाला SHA-2 फ़ंक्शन है, जो FIPS 180-4 और RFC 6234 में परिभाषित है। जहाँ SHA-256 32-बिट वर्ड पर काम करता है, वहीं SHA-512 64-बिट वर्ड, 1024-बिट ब्लॉक और 80 राउंड का उपयोग करता है और 512-बिट डाइजेस्ट देता है: 128 हेक्स अक्षर या 88 Base64 अक्षर। इसका लगभग 256 बिट का कॉलिज़न प्रतिरोध किसी भी ऐसे हमले की पहुँच से बहुत बाहर है जिसकी आज कल्पना की जा सकती है, और हर हैश की तरह यह एकतरफ़ा है: डाइजेस्ट से इनपुट वापस नहीं पाया जा सकता।
64-बिट अंकगणित के कारण, जिन 64-बिट प्रोसेसर में SHA-256 के लिए विशेष निर्देश नहीं होते, उन पर SHA-512 प्रति बाइट अक्सर SHA-256 से तेज़ चलता है। जिन CPU में ये निर्देश होते हैं, उन पर आमतौर पर SHA-256 ज़्यादा तेज़ होता है।
SHA-384, SHA-512/256 और अन्य छोटे किए गए रूप
कई मानक हैश असल में SHA-512 ही हैं, जिन्हें अलग प्रारंभिक मानों के साथ चलाकर छोटे आउटपुट तक काट दिया जाता है:
| नाम | आउटपुट | हेक्स लंबाई | आम उपयोग |
|---|---|---|---|
| SHA-384 | 384 बिट | 96 | TLS 1.3 सिफ़र सूट, Subresource Integrity |
| SHA-512/256 | 256 बिट | 64 | SHA-512 की गति पर SHA-256 जितना आउटपुट |
| SHA-512/224 | 224 बिट | 56 | बहुत कम उपयोग होता है |
प्रारंभिक मान अलग होने के कारण SHA-512/256, SHA-512 के पहले 64 हेक्स अक्षर नहीं होता। छोटे किए गए ये वेरिएंट उस लेंथ-एक्सटेंशन हमले से भी सुरक्षित हैं जो पूरे SHA-256 और SHA-512 को प्रभावित करता है। यह पेज SHA-384 और SHA-512 की गणना करता है; SHA-512/256 के लिए कोई दूसरा टूल इस्तेमाल करें, उदाहरण के लिए openssl dgst -sha512-256।
Base64 इंटीग्रिटी स्ट्रिंग और पासवर्ड हैश
हेक्स रूप बहुत लंबा होने के कारण मशीन द्वारा पढ़े जाने वाले फ़ॉर्मैट अक्सर SHA-512 को Base64 में रखते हैं। Subresource Integrity sha256-, sha384- और sha512- के बाद Base64 डाइजेस्ट स्वीकार करता है, और npm की package-lock.json हर पैकेज के लिए एक integrity मान रखती है, जो आमतौर पर sha512- से शुरू होता है। फ़ाइल खोलें, Base64 आउटपुट चुनें और प्रीफ़िक्स जोड़ दें।
$6$ से शुरू होने वाले Linux पासवर्ड हैश sha512crypt होते हैं: सॉल्ट के साथ हज़ारों बार दोहराया गया SHA-512, इसलिए वे पासवर्ड के सादे SHA-512 के बराबर कभी नहीं होते। पासवर्ड का एक बार लिया गया SHA-512 ब्रूट फ़ोर्स से जल्दी तोड़ा जा सकता है, डाइजेस्ट चाहे कितना भी लंबा हो; पासवर्ड को Argon2id, scrypt, bcrypt या PBKDF2-HMAC-SHA512 से स्टोर करें।
कमांड लाइन और कोड में SHA-512
sha512sum file.tar.gz # Linux
shasum -a 512 file.tar.gz # macOS
certutil -hashfile file.tar.gz SHA512 # Windows
Get-FileHash file.tar.gz -Algorithm SHA512 # PowerShell
# integrity एट्रिब्यूट के लिए Base64 डाइजेस्ट
openssl dgst -sha512 -binary file.js | openssl base64 -A
# Python
hashlib.sha512(data).hexdigest()
// Node.js
crypto.createHash('sha512').update(data).digest('base64')
इस पेज पर SHA-512 की गणना आपके ब्राउज़र का Web Crypto API करता है, और “सभी एल्गोरिदम” तालिका उसी इनपुट के SHA-384, SHA-256, SHA-1, MD5 और CRC मान दिखाती है।
उदाहरण
| इनपुट (UTF-8) | SHA-512 |
|---|---|
Hello, World! | 374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387 |
Base64.is | 44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2 |
你好 | 5232181bc0d9888f5c9746e410b4740eb461706ba5dacfbc93587cecfc8d068bac7737e92870d6745b11a25e9cd78b55f4ffc706f73cfcae5345f1b53fb8f6b5 |
अक्सर पूछे जाने वाले प्रश्न
क्या SHA-512, SHA-256 से ज़्यादा सुरक्षित है?
इसका सुरक्षा मार्जिन बड़ा है: लगभग 256-बिट कॉलिज़न प्रतिरोध, जबकि SHA-256 का 128-बिट। लेकिन दोनों में से कोई भी टूटा नहीं है और दोनों ब्रूट फ़ोर्स की पहुँच से बहुत आगे हैं। SHA-512 तब चुनें जब कोई फ़ॉर्मैट इसे माँगे, जब यह आपके हार्डवेयर पर तेज़ हो या जब आपको लंबा डाइजेस्ट चाहिए; बाकी मामलों में SHA-256 काफ़ी है।
क्या SHA-512 हैश को डिक्रिप्ट किया जा सकता है?
नहीं। SHA-512 डाइजेस्ट हमेशा 64 बाइट का होता है, चाहे इनपुट एक शब्द हो या पूरी डिस्क इमेज, इसलिए हर डाइजेस्ट अनगिनत अलग-अलग इनपुट से बन सकता है और डिकोड करने के लिए कुछ होता ही नहीं। डाइजेस्ट की तुलना केवल किसी अनुमान के हैश से की जा सकती है; लुकअप साइटें इसी तरह आम शब्द और पासवर्ड ढूँढती हैं, लेकिन ऐसा डेटा कभी नहीं जिसका अनुमान न लगाया जा सके।
SHA-512 हैश कितना लंबा होता है?
== होता है। SHA3-512, BLAKE2b और Whirlpool की लंबाई भी यही है, इसलिए किसी अज्ञात डाइजेस्ट को हैश आइडेंटिफ़ायर में पेस्ट करके देखें कि इनमें से कौन-से उस पर फ़िट बैठते हैं।क्या SHA-512 और SHA3-512 एक ही हैं?
नहीं। SHA3-512 (FIPS 202) Keccak पर आधारित है, जो एक पूरी तरह अलग डिज़ाइन है, और उसी इनपुट के लिए अलग डाइजेस्ट देता है। यह पेज SHA-3 की गणना नहीं करता।
देखने में एक जैसी दो स्ट्रिंग अलग-अलग हैश क्यों देती हैं?
हैश बाइट पर बनता है। é जैसा अक्षर एक कोड पॉइंट के रूप में या e और एक संयोजक एक्सेंट (combining accent) के रूप में सहेजा जा सकता है, और अंत के स्पेस, लाइन एंडिंग (LF या CRLF) और कैरेक्टर सेट (UTF-8, UTF-16, Windows-1252) भी बाइट बदल देते हैं। वही “टेक्स्ट एनकोडिंग” चुनें जो दूसरे सिस्टम ने इस्तेमाल की थी, या सटीक बाइट हेक्स में पेस्ट करें।