Hashing क्या है? Linux में Hashing और Hash Cracking Explained
Cyber Security और Linux Security सीखते समय Hashing एक बहुत important concept है। खासकर जब आप password security, file integrity, password cracking और tools जैसे John the Ripper के बारे में सीख रहे हों, तब hashing को समझना बहुत जरूरी है।
इस article में हम आसान भाषा में समझेंगे:
- Hashing क्या है?
- Hash कैसे काम करता है?
- Hashing क्यों जरूरी है?
- MD5 और SHA-256 क्या हैं?
- Hash Cracking क्या होता है?
- John the Ripper का उपयोग कैसे किया जाता है?
- Unknown hash को कैसे identify करें?
- hash-identifier और haiti क्या हैं?
Hashing क्या है?
Hashing एक ऐसी प्रक्रिया है जिसमें किसी input data को एक fixed-format string में बदल दिया जाता है, जिसे hash कहा जाता है।
Input कुछ भी हो सकता है, जैसे: Password, Text, File, Document या Data।
उदाहरण: अगर हमारा input है mypassword123 और इसे MD5 algorithm से hash किया जाए, तो इसका hash कुछ ऐसा दिखेगा:
9c87baa223f464954940f859bcf2e233
आसान भाषा में समझें
Original Data
↓
Hash Algorithm
↓
Hash Value
यानी:
mypassword123
↓
MD5
↓
9c87baa223f464954940f859bcf2e233
Hashing और Encryption में अंतर
यह एक बहुत important point है:
- Encryption: इसका उद्देश्य data को छिपाना होता है ताकि authorized key की मदद से उसे वापस original form में decrypt किया जा सके।
- Hashing: इसका उद्देश्य data का एक fingerprint बनाना है। System को original password वापस निकालने की जरूरत नहीं होती।
Password ---> Hash Function ---> Password Hash
जब user दोबारा password enter करता है, तो system उसके द्वारा दर्ज किए गए password का hash calculate करके stored hash से compare करता है।
Hashing क्यों Important है?
1. Password Security
अगर किसी website के database में passwords plain text (जैसे: admin / mypassword123) में store होंगे और database hack हो जाए, तो attacker को सभी passwords मिल जाएंगे। इसलिए secure systems में Password Hashing का उपयोग किया जाता है।
User Password ---> Password Hashing ---> Stored Hash
Login Verification Logic:
Entered Password
↓
Hash Function
↓
New Hash ---> Compare with Stored Hash ---> Match?
├── Yes ──> Login Allowed
└── No ──> Access Denied
2. Integrity Checking (File Verification)
Hashing का उपयोग यह जांचने के लिए किया जाता है कि कहीं download की गई file corrupt या modified तो नहीं हुई है।
Original File ---> Hash Function ---> Original Hash
Downloaded File ---> Hash Function ---> New Hash
अगर दोनों Hashes आपस में match करते हैं, तो इसका मतलब है कि file पूरी तरह सुरक्षित है और उसमें कोई छेड़छाड़ नहीं हुई है।
MD5 और SHA-1 क्या हैं?
ये पुराने hashing algorithms हैं:
- MD5 (Message Digest 5)
- SHA-1 (Secure Hash Algorithm 1)
आज के समय में इन्हें **Unsecure** माना जाता है क्योंकि इनमें Collision Attacks की समस्या पाई गई है। Collision का मतलब है कि दो अलग-अलग inputs का एक ही hash output आ जाना।
SHA-256 क्या है?
SHA-256, SHA-2 family का एक cryptographic hash algorithm है। यह MD5 से काफी मजबूत है और इसका output 256 bits (64 characters hexadecimal string) का होता है।
Hash Cracking क्या है?
Hash Cracking का मतलब होता है किसी known hash का original input guessing तकनीक से पता लगाना। इसका सबसे common तरीका Dictionary Attack है।
Candidate Password (from Wordlist)
↓
Hash Function
↓
Generated Hash ---> Compare with Target Hash ---> Match Found!
John the Ripper क्या है?
John the Ripper एक बहुत ही popular password security auditing और recovery tool है जो Linux systems में व्यापक रूप से इस्तेमाल होता है।
Basic Usage Command:
john --wordlist=/path/to/rockyou.txt hash.txt
Wordlist क्या होती है?
Wordlist एक text file होती है जिसमें लाखों संभव passwords की list होती है। Cyber Security labs में सबसे ज्यादा rockyou.txt wordlist का इस्तेमाल होता है।
Unknown Hash को कैसे Identify करें?
यदि आपके पास एक ऐसा hash है:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
इसके लिए Linux में hash-identifier tool का उपयोग किया जा सकता है:
hash-identifier
Haiti Tool क्या है?
Haiti एक आधुनिक और एडवांस CLI tool है जो hash type identify करने के काम आता है:
haiti 'HASH_HERE'
Hashing से जुड़े Important Terms (Glossary)
| Term | Meaning |
|---|---|
| Hash | Input data से generated fixed string value। |
| Hash Function | वह Algorithm जो input को hash में बदलता है। |
| Collision | जब दो अलग Inputs का Same Hash बन जाए। |
| Wordlist | Passwords और inputs की Text File list। |
| Dictionary Attack | Wordlist की मदद से Hashes match करने की तकनीक। |
| Brute Force | हर सम्भव combination को ट्राई करने की तकनीक। |
Conclusion
Hashing, Cyber Security का आधार है। यह Data Integrity, User Authentication और Digital Forensics में महत्वपूर्ण भूमिका निभाता है। यदि आप Linux Security सीख रहे हैं, तो इन बेसिक कॉन्सेप्ट्स की अच्छी समझ होना बेहद आवश्यक है।
