ہیش بنائیں
MD5، SHA-1، SHA-256، SHA-384 اور SHA-512، ٹیکسٹ کے لیے یا کسی بھی سائز کی فائل کے لیے۔ یہ تصدیق کرنے کے لیے مفید کہ ڈاؤن لوڈ اپنے شائع شدہ چیک سم سے میل کھاتا ہے۔ کچھ بھی محفوظ نہیں کیا جاتا۔
- کبھی محفوظ نہیں کی جاتی
- نہ قطار، نہ انتظار
- نہ سائن اپ، نہ واٹر مارک
ٹیکسٹ UTF-8 کے طور پر ہیش ہوتا ہے۔ کسی ڈاؤن لوڈ کی تصدیق کے لیے فائل ڈراپ کریں۔
یہ کیسے کام کرتا ہے
ٹیکسٹ پیسٹ کریں یا فائل ڈراپ کریں
ٹیکسٹ UTF-8 کے طور پر ہیش ہوتا ہے۔ فائل یہیں پڑھ کر ہیش کی جاتی ہے؛ وہ کبھی محفوظ نہیں کی جاتی۔
تمام ہیشز ایک ساتھ پڑھیں
پانچوں الگورتھمز ایک ساتھ نکالے جاتے ہیں، اس لیے آپ کو پہلے سے جاننے کی ضرورت نہیں کہ کون سا چاہیے۔
متوقع ویلیو سے موازنہ کریں
آپ کو دیا گیا چیک سم پیسٹ کریں اور میچ آپ کے لیے کر دیا جاتا ہے — آنکھ سے حرف بہ حرف موازنہ ہی وہ جگہ ہے جہاں غلطیاں ہوتی ہیں۔
ہیش کیا ثابت کرتا ہے، اور کیا نہیں
ہیش کسی بھی مقدار کے ڈیٹا کا ایک مقررہ لمبائی والا فنگر پرنٹ ہے، اور اس کی دو خصوصیات کو درست طور پر بیان کرنا ضروری ہے۔ یہ یک طرفہ ہے — کوئی ایسا عمل نہیں جو ہیش کو واپس ڈیٹا میں بدل دے، کیونکہ تقریباً ساری معلومات ختم ہو چکی ہوتی ہیں۔ اور یہ حساس ہے: ان پٹ کا ایک بٹ بدلیں تو آؤٹ پٹ کے تقریباً آدھے بٹس بدل جاتے ہیں۔ اسی سے یہ اس بات کی تصدیق کے لیے مفید بنتا ہے کہ کوئی فائل صحیح سلامت ڈاؤن لوڈ ہوئی، یا دو فائلیں بائٹ بہ بائٹ موازنے کے بغیر ایک جیسی ہیں۔
MD5 اور SHA-1 ٹوٹ چکے ہیں اور پھر بھی یہاں ہیں، ایک وجہ سے۔ دونوں پر عملی collision حملے ممکن ہیں — MD5 پر 2004 سے، اور SHA-1 پر 2017 میں PDFs کے ایک حقیقی جوڑے کے ساتھ دکھایا گیا — یعنی کوئی دو مختلف فائلیں ایک ہی ہیش کے ساتھ بنا سکتا ہے۔ اس لیے کسی مخالف کے مقابلے میں دونوں میں سے کوئی کچھ ثابت نہیں کرتا۔ دونوں اتفاقی خرابی پکڑنے میں اب بھی بالکل ٹھیک ہیں، اور بہت سا حقیقی سافٹ ویئر اب بھی MD5 چیک سمز شائع کرتا ہے، اس لیے کسی ڈاؤن لوڈ کے ساتھ اسے ملانا ایک جائز ضرورت ہے۔ جہاں کوئی آپ کو دھوکا دینے کی کوشش کر سکتا ہو وہاں SHA-256 استعمال کریں۔
ان میں سے کسی سے بھی کبھی پاس ورڈ ہیش نہ کریں۔ اس صفحے کی یہ سب سے اہم بات ہے۔ ہیشز تیز ہونے کے لیے بنائے گئے ہیں، اور پاس ورڈز کے لیے تیز ہونا بالکل غلط ہے: ایک جدید گرافکس کارڈ ایک سیکنڈ میں اربوں SHA-256 ہیشز نکالتا ہے، اس لیے ہیش شدہ پاس ورڈز کا چوری شدہ ڈیٹا بیس چند گھنٹوں میں کریک ہو جاتا ہے۔ پاس ورڈ محفوظ کرنے کے لیے ہر یوزر کے الگ salt کے ساتھ جان بوجھ کر سست فنکشن چاہیے — argon2، bcrypt یا scrypt — جو جان بوجھ کر وقت اور میموری خرچ کرنے کے لیے بنائے گئے ہیں۔ پاس ورڈ کا سادہ SHA-256 تحفظ نہیں بلکہ کمزوری ہے، چاہے ڈیٹا بیس کے کالم میں کیسا ہی نظر آئے۔
اپنے نکالے ہوئے ہیش کو اسی صفحے پر شائع شدہ ہیش سے ملانا جہاں سے آپ نے ڈاؤن لوڈ کیا، جتنا لگتا ہے اس سے کم ثابت کرتا ہے: جو فائل بدل سکتا تھا وہ اس کے ساتھ لکھا نمبر بھی بدل سکتا تھا۔ چیک سم سب سے زیادہ قیمتی تب ہے جب وہ کسی اور جگہ سے آئے — دستخط شدہ ریلیز، الگ ذریعہ، یا کوئی ویلیو جو آپ نے خود پہلے سے نوٹ کی ہو۔
جب آپ کو کچھ اور چاہیے
کمانڈ لائن پر یہ ایک لفظ کا کام ہے: macOS اور Linux پر shasum -a 256 file، Windows پر certutil -hashfile file SHA256، اور جہاں پرانا چیک سم شائع ہو وہاں md5sum یا sha1sum۔ یہ فائل کو لوڈ کرنے کے بجائے اسٹریم کرتے ہیں، اس لیے سائز کی کوئی حد نہیں — اور چند سو میگا بائٹس سے بڑی کسی بھی چیز کے لیے اصل فرق یہی ہے، جہاں پوری فائل میموری میں رکھنے والا صفحہ سیدھا ناکام ہو جائے گا۔
یہ تصدیق کرنے کے لیے کہ کوئی ریلیز محض صحیح سلامت نہیں بلکہ اصلی ہے، اکیلا ہیش غلط ٹول ہے۔ GPG دستخط — gpg --verify file.sig file — ثابت کرتے ہیں کہ فائل کس نے بنائی، اور یہی وہ سوال ہے جس کا جواب چیک سم نہیں دے سکتا۔ زیادہ تر سنجیدہ پروجیکٹس دونوں شائع کرتے ہیں، اور اہمیت دستخط کی ہے۔
اکثر پوچھے جانے والے سوالات
کیا میری فائل کہیں محفوظ کی جاتی ہے؟
نہیں۔ فائل اسی بلٹ اِن کرپٹوگرافی سے ہیش کی جاتی ہے جو HTTPS کو سنبھالتی ہے۔ کچھ بھی محفوظ نہیں کیا جاتا، اس لیے نہ سائز کی کوئی حد ہے نہ کنکشن کا انتظار۔
کیا سائز کی کوئی حد ہے؟
دستیاب میموری، کوئی مقررہ حد نہیں۔ براؤزر کی کرپٹوگرافی کے پاس فائل کو ٹکڑوں میں ہیش کرنے کا کوئی طریقہ نہیں — اسے پوری فائل ایک ساتھ میموری میں چاہیے — اس لیے بہت بڑی فائل (مثلاً DVD امیج) اس مشین پر ناکام ہو سکتی ہے جو اسے رکھ نہ سکے۔ عام کمپیوٹر پر چند سو میگا بائٹس تک کی فائلیں ٹھیک رہتی ہیں۔ اگر کوئی بڑی فائل ناکام ہو تو آپ اسی حد تک پہنچے ہیں، اور صفحہ اٹکنے کے بجائے یہ بتا دیتا ہے۔
مجھے کون سا ہیش استعمال کرنا چاہیے؟
ہر نئی چیز کے لیے SHA-256۔ یہ جدید ڈیفالٹ ہے، سافٹ ویئر چیک سمز، کنٹینر ڈائجسٹس اور بلاک چین سسٹمز یہی استعمال کرتے ہیں، اور اس میں کوئی معلوم کمزوری نہیں۔ MD5 یا SHA-1 صرف تب استعمال کریں جب کوئی اور چیز ان کا تقاضا کرے — کوئی پرانا شائع شدہ چیک سم ملانا، کوئی پرانا سسٹم، یا Git، جو آبجیکٹس کی شناخت SHA-1 سے کرتا ہے۔ SHA-512 تب استعمال کریں جب آپ کو خاص طور پر لمبا ڈائجسٹ چاہیے؛ 64-bit مشینوں پر یہ اکثر SHA-256 سے سست نہیں بلکہ تیز ہوتا ہے۔
کیا میں اس سے پاس ورڈ ہیش کر سکتا ہوں؟
کر سکتے ہیں، لیکن نتیجہ محفوظ نہیں کرنا چاہیے۔ اس شعبے میں یہ سب سے عام غلطی ہے، اس لیے سیدھی بات کرنا ضروری ہے: MD5، SHA-1 اور SHA-256 سب پاس ورڈز کے لیے غلط ہیں، اور SHA-256 کا کرپٹوگرافک طور پر مضبوط ہونا کوئی مدد نہیں کرتا۔ مسئلہ یہ ہے کہ یہ فنکشنز ڈیزائن کے لحاظ سے تیز ہیں — ایک جدید گرافکس کارڈ فی سیکنڈ اربوں SHA-256 ہیشز نکالتا ہے، اس لیے SHA-256 پاس ورڈ ہیشز کا چوری شدہ ڈیٹا بیس بہت تیز رفتاری سے کریک ہوتا ہے۔ پاس ورڈز کو اسی کام کے لیے بنا ہوا، جان بوجھ کر سست اور salt والا فنکشن چاہیے: bcrypt، scrypt یا Argon2۔ ہر سنجیدہ فریم ورک میں ان میں سے ایک بلٹ اِن ہوتا ہے۔
MD5 کو کمزور کیوں لکھا گیا ہے؟
کیونکہ اب کوئی بھی عام ہارڈویئر پر سیکنڈوں میں ایک ہی MD5 ہیش والی دو مختلف فائلیں بنا سکتا ہے۔ یہ 2004 سے ممکن ہے اور اس کے حقیقی، کارگر نتائج دکھائے جا چکے ہیں — مختلف معاہدے دکھانے والی دو PDFs، دو ایگزیکیوٹیبلز جن میں سے ایک میلویئر ہے۔ اس لیے MD5 یہ ثابت نہیں کر سکتا کہ فائل وہی ہے جس کی آپ کو توقع تھی؛ جان بوجھ کر بنائی گئی جعلی فائل میچ کر سکتی ہے۔ اتفاقی خرابی پکڑنے کے لیے یہ اب بھی بالکل معقول ہے، جیسے خراب ڈاؤن لوڈ یا ادھوری کاپی، اور زیادہ تر شائع شدہ MD5 چیک سمز اصل میں اسی کے لیے ہوتے ہیں۔ اسے سیکیورٹی کے لیے کبھی استعمال نہیں کرنا چاہیے۔
SHA-1 کو کمزور کیوں لکھا گیا ہے؟
اسی وجہ سے، بس حال ہی میں۔ 2017 میں Google اور CWI نے ایک ہی SHA-1 ہیش والی دو مختلف PDFs بنائیں، اور 2020 تک یہ حملہ اتنا سستا ہو گیا کہ اس سے دستخط جعلی بنائے جا سکیں۔ براؤزرز نے برسوں پہلے SHA-1 سرٹیفکیٹس قبول کرنا بند کر دیا، اور Git اس سے ہٹ رہا ہے۔ اگر آج آپ الگورتھم چن رہے ہیں تو SHA-256 چنیں۔
میں ڈاؤن لوڈ کی تصدیق کیسے کروں؟
ڈاؤن لوڈ کی گئی فائل ڈراپ کریں، پھر جس سائٹ سے لی اس کا چیک سم موازنے والے باکس میں پیسٹ کریں۔ اگر دونوں میچ کریں تو فائل صحیح سلامت پہنچی ہے اور وہی فائل ہے جو شائع کی گئی تھی۔ اگر نہ کریں تو اسے حذف کر کے دوبارہ ڈاؤن لوڈ کریں۔ دو احتیاطیں: چیک سم وہاں سے نہیں جہاں سے فائل لی بلکہ سرکاری ذریعے سے لیں، اور یاد رکھیں کہ چیک سم صرف یہ ثابت کرتا ہے کہ فائل اس صفحے کی شائع کردہ چیز سے میل کھاتی ہے — اگر صفحہ خود ہیک ہو گیا ہو تو دونوں میچ کریں گے۔
کیا ہیشز درست طریقے سے نکالے جاتے ہیں؟
SHA-1، SHA-256، SHA-384 اور SHA-512 براؤزر کی اپنی Web Crypto امپلیمینٹیشن سے آتے ہیں، وہی کوڈ جو HTTPS کو سنبھالتا ہے۔ MD5 جان بوجھ کر Web Crypto میں شامل نہیں، کیونکہ وہ ٹوٹ چکا ہے، اس لیے اسے یہاں براہِ راست RFC 1321 سے امپلیمنٹ کیا گیا ہے اور اسی دستاویز کے اپنے شائع شدہ ٹیسٹ ویکٹرز کے مقابلے میں جانچا گیا ہے۔
جاننا مفید ہے: MD5 اور SHA-1 یہاں اس لیے ہیں کہ حقیقی فائلیں اور پرانے سسٹمز اب بھی انہیں استعمال کرتے ہیں، اس لیے نہیں کہ وہ محفوظ ہیں — دونوں سیکیورٹی سے متعلق کسی بھی کام کے لیے ٹوٹ چکے ہیں اور صرف چیک سم کے طور پر مفید ہیں۔ Web Crypto میں انکریمینٹل ڈائجسٹ نہیں، اس لیے پوری فائل میموری میں رکھی جاتی ہے: بہت بڑی فائلیں اسٹریم ہونے کے بجائے ناکام ہو جائیں گی۔
یہ ٹول اپنی ویب سائٹ پر لگائیں
کسی بھی بلاگ، کلاس پیج یا ہیلپ آرٹیکل کے لیے مفت۔ ایک اسنیپٹ پیسٹ کریں اور آپ کے وزیٹرز اسے سیدھا آپ کے صفحے پر استعمال کر سکیں گے۔