हैश पासवर्ड के लिए उपयोग किए गए हैशिंग एल्गोरिथ्म को कैसे ढूंढें?


11

मेरे पास काम करने का पासवर्ड है और हैश (/ etc / passwd) देख सकते हैं। मैं पासवर्ड को हैश करने के लिए उपयोग किए गए हैशिंग एल्गोरिथ्म को बिना किसी मैच के मैन्युअल रूप से अलग-अलग एल्गोरिदम की कोशिश किए बिना कैसे खोज सकता हूं?


1
यूनिक्स संस्करण क्या उपयोग कर रहे हैं?
Kusalananda

3
मुझे बहुत आश्चर्य है कि आप एक हैश को देख सकते हैं /etc/passwd। मुझे लगता है कि सभी यूनिक्स / लिनक्स वेरिएंट /etc/shadowवर्षों पहले के साथ विभाजित हो गए थे। (मुझे पता है कि इस तरह की प्रणाली अभी भी हैश का समर्थन करती है, passwdलेकिन मुझे कोई उपयोगिताओं का पता नहीं है जो उन्हें वहां डालते हैं। एक एम्बेडेड प्रणाली, शायद?
रोइमा

यह OpenWrt Backfire 10.03 है। /etc/passwdयहां अभी भी राखियां जमा हैं। यह हालांकि सवाल का मामला नहीं बदलता है। क्या यह?
डोरिन बोटन

1
बस रिकॉर्ड के लिए: बीएसडी में दो बर्कले डीबी फाइलें, रोइमा हैं। यह अभी भी विभाजित है, लेकिन यह नहीं है /etc/shadowऔर उनके पास उस नाम से कोई फ़ाइल नहीं है।
JdeBP

जवाबों:


27

यह crypt(3)'s मानवपृष्ठ में प्रलेखित है , जिसे आप ' s manpage , या 's के माध्यम से पा सकते हैं । वे लिंक आधुनिक लिनक्स-आधारित सिस्टम के लिए उपयुक्त हैं; वहाँ वर्णन है:shadow(5)passwd(5)

यदि नमक एक चरित्र स्ट्रिंग है जो "$ id $" अक्षर से शुरू होती है, उसके बाद "$" द्वारा वैकल्पिक रूप से एक स्ट्रिंग को समाप्त किया जाता है, तो परिणाम का रूप है:

$id$salt$encrypted

आईडी डेस के बजाय उपयोग की जाने वाली एन्क्रिप्शन विधि की पहचान करता है और फिर यह निर्धारित करता है कि पासवर्ड स्ट्रिंग के बाकी हिस्सों की व्याख्या कैसे की जाती है। आईडी के निम्नलिखित मूल्य समर्थित हैं:

ID  | Method
─────────────────────────────────────────────────────────
1   | MD5
2a  | Blowfish (not in mainline glibc; added in some
    | Linux distributions)
5   | SHA-256 (since glibc 2.7)
6   | SHA-512 (since glibc 2.7)

ब्लोफिश, भी रूप में जाना जाता bcryptहै, यह भी उपसर्गों द्वारा पहचाना जाता है 2, 2b, 2x, और 2y(देखें PassLib के दस्तावेज़ )।

इसलिए यदि एक हैशेड पासवर्ड उपरोक्त प्रारूप में संग्रहीत किया जाता है, तो आप आईडी को देखकर उपयोग किए गए एल्गोरिथ्म को पा सकते हैं ; अन्यथा यह cryptडिफॉल्ट डेस अल्गोरिद्म (13-वर्ण वाले हैश के साथ), या "बड़ा" cryptडीईएस (128-वर्ण पासवर्ड का समर्थन करने के लिए विस्तारित, लंबाई में 178 वर्णों तक हैश के साथ), या बीएसडीआई डीईएस ( _उपसर्ग के साथ) बढ़ाया गया 19-चरित्र हैश के बाद)।

कुछ वितरण libxcrypt का उपयोग करते हैं जो कुछ और तरीकों का समर्थन करता है और दस्तावेज़ :

  • y: हाँ
  • gy: गोस्ट-यसक्रिप्ट
  • 7: स्क्रीप्ट
  • sha1: sha1crypt
  • md5: SunMD5

अन्य प्लेटफ़ॉर्म अन्य एल्गोरिदम का समर्थन करते हैं, इसलिए cryptवहां मैनपेज की जांच करें । उदाहरण के लिए, ओपनबीएसडीcrypt(3) केवल ब्लोफिश का समर्थन करता है, जिसे वह आईडी "2 बी" का उपयोग करके पहचानता है ।


2
डेस आधारित पासवर्ड बीटीडब्ल्यू हमेशा 13 वर्णों के होते हैं और इसमें अल्फ़ान्यूमेरिकल अक्षर भी होते हैं .और /। पहला 2 अक्षर नमक है और दूसरा 11 हैश मान (प्रकार) है। और यह केवल एक एल्गोरिदम समर्थित है cryptजिसके द्वारा इतना कमजोर है कि आप इसके लिए एक मजबूत पासवर्ड चुनकर इसकी भरपाई नहीं कर सकते।
कास्परड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.