ہیش جنریٹر اور چیکسم
ٹیکسٹ اور فائلوں کے لیے ایک ساتھ MD5، SHA-1، SHA-256، SHA-384 اور SHA-512 حاصل کریں۔ ڈاؤن لوڈ شدہ فائل کی اس کے آفیشل چیکسم کے ساتھ توثیق کریں تاکہ یہ یقینی ہو کہ اس کے ساتھ چھیڑ چھاڑ نہیں ہوئی۔ سب کچھ مقامی ہے، آپ کے براؤزر سے کچھ بھی باہر نہیں جاتا۔
- الگورتھم
- MD5 · SHA-1/256/384/512
- انجن
- Web Crypto API
- رازداری
- 100% مقامی
- ان پٹ
- ٹیکسٹ / فائل
یہاں فائل گرا دیں، یا براؤز کرنے کے لیے کلک کریں
چیکسم حساب کرنے کے لیے فائل کے بائٹس مقامی طور پر پڑھے جاتے ہیں — کچھ بھی اپ لوڈ نہیں ہوتا۔ انسٹالرز، ڈسک امیجز اور آرکائیوز کے ساتھ کام کرتا ہے۔
خصوصیات
ایک صفحہ پر پانچوں ہیش
فوری فینگر پرنٹس سے لے کر محفوظ دستخط تک — ہر وہ ہیش جو ڈویلپرز، آپریشنز اور ڈاؤن لوڈ کی توثیق کے لیے درکار ہوتا ہے۔
پانچ الگورتھم
MD5، SHA-1، SHA-256، SHA-384 اور SHA-512 پیداواری بٹ کی لمبائی کے ساتھ ایک ساتھ دکھائے گئے ہیں — ٹولز کے درمیان سوئچ کرنے کی ضرورت نہیں۔
حقیقی وقت کمپیوٹنگ
ٹائپ کرتے ہی ٹیکسٹ ہیش، دبانے کے لیے کوئی بٹن نہیں۔ نتائھ مونو اسپیس میں — کاپی کرنے کے لیے قطار پر کلک کریں۔
فائل سالمیت کی جانچ
انسٹالر، ڈسک امیج یا آرکائیو ڈالیں اور اس کی موازنہ آفیشل چیکسم سے کریں تاکہ یہ تصدیق ہو کہ ڈاؤن لوڈ میں کوئی چھیڑ چھاڑ نہیں ہوئی۔
مقامی، زیرو اپ لوڈ
SHA فیملی براؤزر کے بلٹ ان Web Crypto API استعمال کرتی ہے۔ ٹیکسٹ اور فائلیں کبھی بھی آپ کی مشین سے باہر نہیں جاتیں — حساس مواد کے لیے ٹھیک ہے۔
UTF-8 مطابقت
متن کو UTF-8 بائٹس کے طور پر ہیش کیا جاتا ہے، اس لیے نتائج بالکل md5sum، PHP md5() اور Python hashlib سے مطابقت رکھتے ہیں۔
ایک کلک سے کاپی
ہر ہیش کو علیحدہ طور پر کاپی کریں، یا ان سب کو معیاری چیکسم فارمیٹ میں کاپی کریں جو ٹرمینل میں چسپاں کرنے کے لیے تیار ہے۔
آپ کو ہیشز کے بارے میں کیا جاننا چاہیے
یہ خیال آسان ہے، لیکن غلط کام کے لیے غلط ہیش کا استعمال حقیقی سیکورٹی غلطی ہے۔
MD5 اور SHA-1 بالکل کیا ہیں؟
MD5 (میسج-ڈائجسٹ الگورتھم 5) کو MIT میں رونالڈ روایست نے ڈیزائن کیا اور 1992 میں RFC 1321 کے طور پر شائع کیا، جس نے MD4 کے جانشین کے طور پر ایک مقررہ 128-بٹ (32 ہیکس حروف) ڈائجسٹ پیدا کیا۔ SHA-1 کو امریکہ کی قومی سیکیورٹی ایجنسی نے ڈیزائن کیا اور 1995 میں وفاقی معیار FIPS 180-1 کے طور پر شائع کیا، جس نے 160 بٹس پیدا کیے۔ یہ دونوں اگلے دو دہائیوں میں سب سے زیادہ وسیع پیمانے پر استعمال ہونے والے ہیش الگورتھم بن گئے — فائل چیکسم، پاس ورڈ اسٹوریج، ڈیجیٹل دستخط اور Git کمٹ IDز کے لیے استعمال ہوئے۔ نوٹ کریں کہ یہ آج بھی درست ڈائجسٹ تیار کرتے ہیں؛ "غیر محفوظ" کا مطلب یہ ہے کہ ان کی تصادم مزاحمت ٹوٹ گئی ہے، نہ کہ ان کا آؤٹ پٹ غلط ہے۔
کیا ہیشنگ، انکرپشن اور انکوڈنگ ایک ہی چیز ہیں؟
نہیں — یہ مختلف مسائل حل کرتے ہیں۔ انکوڈنگ (جیسے Base64 یا URL انکوڈنگ) ایک الٹ کے قابل فارمیٹ کی تبدیلی ہے جسے کوئی بھی تبدیل کر سکتا ہے، کوئی سیکیورٹی فراہم نہیں کرتا۔ انکرپشن کلید کے ساتھ الٹ کے قابل ہے: سادہ متن سائفر ٹیکسٹ بن جاتا ہے اور صحیح کلید اسے ڈی کرپٹ کرتی ہے۔ ہیشنگ ایک طرفہ عمل ہے، اس میں کوئی کلید نہیں ہوتی، اور ڈائجسٹ سے اصلی چیز واپس حاصل نہیں کی جا سکتی — اس کا استعمال فنگر پرنٹز، سالمیت کی جانچ اور دستخط کے لیے ہوتا ہے۔ دو عام غلط فہمیاں ہیں: Base64 کو "انکرپشن" سمجھنا، اور یہ کہنا کہ پاس ورڈ کو "MD5 کے ساتھ انکرپٹ کیا گیا ہے" — یہ ہیشنگ ہے، اور اس طرح پاس ورڈ کو ذخیرہ کرنا غیر محفوظ طریقہ ہے۔
ایک ہیش کو واپس اصلی شکل میں کیوں نہیں لایا جا سکتا؟
ہیش ایک ایک طرفہ فنکشن ہے: کسی بھی لمبائی کے ان پٹ کو ایک مقررہ لمبائی کے ڈائجسٹ میں کمپریس کر دیا جاتا ہے، جس سے زیادہ تر معلومات ختم ہو جاتی ہیں۔ بالکل اسی طرح جیسے آپ اس کے الفاظ کی تعداد سے ایک جملہ دوبارہ نہیں بنا سکتے، اسی طرح ڈائجسٹ سے اصلی چیز حاصل نہیں کی جا سکتی۔ محفوظ الگورتھم خاص طور پر اس طرح ڈیزائن کیے گئے ہیں کہ اس طرح کی الٹ کمپیوٹیشن کے لحاظ سے ناممکن ہو۔
کیا MD5 اور SHA-1 اب بھی استعمال کے قابل ہیں؟
یہ چیک کرنے کے لیے کہ کوئی فائل ٹرانزٹ کے دوران غلطی سے خراب ہوئی ہے — ہاں، بائٹ میں کوئی بھی تبدیلی عملی طور پر MD5 کو بدل دیتی ہے۔ لیکن کبھی بھی سیکیورٹی کے لیے نہیں: دونوں کے لیے عملی تصادم حملے موجود ہیں (محقق اپنے کنٹرول میں رکھے ہوئے دو مختلف فائلوں سے ایک ہی MD5 بنا سکتے ہیں)۔ پاس ورڈ، دستخط اور سرٹیفکیٹ کے لیے SHA-256 یا اس سے اوپر استعمال کریں۔
ایک ہی متن کے لیے میرا ہیش دوسرے ٹول سے کیوں مختلف ہے؟
تین عام وجوہات: ① مختلف کریکٹر انکوڈنگ (یہ ٹول ہمیشہ UTF-8 استعمال کرتا ہے؛ پرانے ٹولز GBK یا Latin-1 استعمال کر سکتے ہیں)؛ ② ایک اگلے لائن — کمانڈ لائن echo ڈیفالٹ کے طور پر ایک شامل کرتا ہے (echo -n استعمال کریں)؛ ③ کاپی کرتے وقت کوئی بے ترتیب خالی جگہ یا نادیدہ حرف۔ ہیش ہر ایک بائٹ کے لیے حساس ہوتے ہیں، اس لیے ایک بائٹ کی کمی سے مکمل نتیجہ بدل جاتا ہے۔
پاس ورڈز کو سادہ MD5/SHA-256 کے طور پر کیوں ذخیرہ نہیں کیا جا سکتا؟
عام ہیش تیز ہوتے ہیں۔ لیک ہونے والی ہیش ٹیبل کے ساتھ، حملہ آور سیکنڈ میں اربوں اندازے آزما سکتے ہیں، اور رینبو ٹیبل عام پاس ورڈز کو فوری طور پر ریورس لوکیت کرتے ہیں۔ پاس ورڈز کو جان بوجھ کر سست میموری پر مبنی الگورتھم کی ضرورت ہوتی ہے (bcrypt, scrypt, Argon2) جس میں ہر پاس ورڈ کے لیے منفرد نمک ہوتا ہے، جو بری قوت حملے کو مہنگا بنا دیتا ہے۔
میں ڈاؤن لوڈ کی گئی فائل کی سالمیت کی تصدیق کیسے کروں؟
سرکاری ویب سائٹ پر شائع شدہ چیکسم تلاش کریں (عام طور پر SHA-256)، ڈاؤن لوڈ کی فائل کو یہاں "File checksum" ٹیب میں گھسیٹیں، اور سرکاری قدر کو نتائج کے اوپر والے خانے میں چسپاں کریں۔ آلہ قدر کی لمبائی سے الگورتھم کا پتہ لگاتا ہے اور فائل کے بائٹس پبلشر کے جاری کردہ کے بالکل مطابق ہونے پر مماثل قطار کو سبز کر دیتا ہے؛ سرخ کا مطلب ہے خرابی یا مین ان دی مڈل کا متبادل — فائل کو نہ چلائیں۔
پانچ الگورتھم میں سے کون سا استعمال کرنا ہے
منظر نامے کے مطابق انتخاب کریں۔ نئے الگورتھم طویل ڈائجسٹ تیار کرتے ہیں، حملے سے بہتر مزاحمت کرتے ہیں اور حساب کرنے میں قدرے زیادہ وقت لگاتے ہیں۔
| الگورتھم | متعارف کرایا گیا | آؤٹ پٹ لمبائی | سلامتی | عام استعمال |
|---|---|---|---|---|
| MD5 | 1992 | 128 بٹ (32 حروف) | خراب شدہ؛ تصادم عملی ہے | غیر سیکیورٹی فگر پرنٹ، ڈی ڈوپ، میراثی مطابقت |
| SHA-1 | 1995 | 160 بٹ (40 حروف) | 2017 سے تصادم عملی ہے | Git کی تاریخ کے IDs اور دیگر میراثی سسٹم؛ نئے سیکیورٹی استعمال کے لیے نہیں |
| SHA-256 | 2001 | 256 بٹ (64 حروف) | آج محفوظ | فائل کے چیکسم، دستخط، TLS سرٹیفکیٹ، بلاکچینز — عالمی ڈیفالٹ |
| SHA-384 | 2001 | 384 بٹ (96 حروف) | محفوظ | 384 بٹ کی ضرورت والی تعمیل کے نظام کے لیے کٹے ہوئے SHA-512 |
| SHA-512 | 2001 | 512 بٹ (128 حروف) | محفوظ | اعلی یقین والے دستخط؛ 64-bit CPUs پر اکثر SHA-256 سے تیز |
"محفوظ" کا مطلب آج تک کوئی عملی عوامی تصادم حملہ نہیں۔ پاس ورڈ کے ذخیرہ کے لیے bcrypt/Argon2 استعمال کریں خواہ ہیش کا انتخاب کچھ بھی ہو۔
چیکسم: ڈاؤن لوڈ کردہ فائل کی حقیقت میں تصدیق کیسے کریں
ڈاؤن لوڈ صفحہ پر موجود MD5 یا SHA-256 string کا کیا مقصد ہے، اس کا موازنہ کیسے کریں، اور کس چیز کے ساتھ موازنہ کریں — یہ سب ایک حصے میں۔
بالکل کیوں تصدیق کریں
آپ کی ڈسک پر موجود فائل ضروری نہیں کہ سرور پر موجود فائل کے برابر ہو۔ دس سیکنڈ کا چیکسم موازنہ تین قسم کی پریشانیوں سے بچاتا ہے:
ریزیو ہونے والے ڈاؤن لوڈز اور ناقص نیٹ ورکس پر بڑی فائلیں حیران کن طور پر کثرت سے غیر ملکی بائٹس جمع کرتی ہیں؛ ٹوٹے ہوئے انسٹالر کی تشخیص میں دس سیکنڈ سے بہت زیادہ وقت لگتا ہے۔
بہت سے ڈاؤن لوڈ دراصل mirrors یا CDNs سے آتے ہیں، جہاں مطابقت پذیری میں تاخیر یا کیش کے گلیچ آپ کو پرانا ریلیز — یا آدھی فائل — دے سکتے ہیں۔
جب ڈاؤن لوڈ کا ذریعہ ٹوٹ جائے یا عوامی نیٹ ورک ہائی جیک ہو جائے، فائلوں میں بیک ڈور لگایا جا سکتا ہے۔ 2016 میں لینکس مِنٹ کی سائٹ ہیک ہوئی تھی اور اس کے ڈاؤن لوڈ کے لنکس کو بیک ڈور والے ISO سے بدل دیا گیا تھا — پروجیکٹ کا پہلا ردعمل سب سے چیکسم چیک کرنے پر زور دینا تھا۔
چیکسم کیا ہے
پبلشر اپنے سرور پر فائل کو ہیش کرتا ہے اور نتیجہ ڈاؤن لوڈ صفحہ پر پوسٹ کرتا ہے۔ ڈاؤن لوڈ کرنے کے بعد، آپ اسے مقامی طور پر دوبارہ ہیش کرتے ہیں۔ اگر دونوں سٹرنگز حرف بہ حرف مماثل ہوں، تو فائل کے بائٹ بالکل وہی ہیں جو پبلشر نے جاری کیے ہیں — نہ تو خراب ہوئے اور نہ ہی بدلے گئے۔ یہ چیک ہر بائٹ کے لیے حساس ہے: ایک بھی بائٹ تبدیل کرنے سے قدر مکمل طور پر بدل جاتی ہے۔ عام طور پر، چیکسمز میں CRC32 جیسی آسان سکیمیں بھی شامل ہوتی ہیں جو صرف حادثاتی خرابی کو پکڑتی ہیں، جبکہ MD5/SHA جیسے کرپٹوگرافک ہیشز جان بوجھ کر کی جانے والی جعل سازی کا بھی مقابلہ کرتے ہیں۔
فائل کو تین مراحل میں توثیق کریں
-
1
آفیشل چیکسم حاصل کریں
ڈاؤن لوڈ صفحہ پر، شائع شدہ MD5 / SHA-256 قدر تلاش کریں (اکثر اسے "چیکسم" کا لیبل لگا ہوتا ہے یا .sha256 ساتھ والی فائل کے طور پر فراہم کیا جاتا ہے) اور پوری سٹرنگ کو کاپی کریں۔
-
2
فائل کو ڈراپ کریں اور پیسٹ کریں
اوپر والے "فائل چیکسم" ٹیب پر جائیں، ڈاؤن لوڈ کی گئی فائل کو یہاں ڈراپ کریں، اور نتائج کے اوپر والے باکس میں چیکسم پیسٹ کریں۔
-
3
رنگ کے ذریعے فیصلہ پڑھیں
ٹول قدر کی لمبائی سے الگورتھم کا پتہ لگاتا ہے: سبز کا مطلب ہے کہ فائل آفیشل جاری شدہ بالکل مماثل ہے اور استعمال کے لیے محفوظ ہے؛ سرخ کا مطلب ہے کہ یہ خراب ہو سکتی ہے یا چھیڑ چھاڑ کی گئی ہے — اسے چلائیں نہیں۔
آفیشل سائٹس پر چیکسمز کو پڑھنا
ڈاؤن لوڈ صفحے چیکسمز کو کئی انداز میں لکھتے ہیں، لیکن سب کے دو عناصر ہوتے ہیں: ہیش قدر اور فائل کا نام۔ یہ تین شکلیں سب سے عام ہیں — پیسٹ کرتے وقت صرف ہیش حصہ لیں (یہ �ول خود بخود خالی جگہوں اور لائن بریکوں کو نظر انداز کر دیتا ہے):
# 1. سنگل لائن: صرف قدر
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
# 2. sha256sum فارمیٹ: قدر + دو خالی جگہیں + فائل نام (SHA256SUMS مینی فیسٹ اس طرح کی کئی لائنوں پر مشتمل ہوتا ہے)
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a ubuntu-24.04.iso
# 3. BSD فارمیٹ: الگورتھم (فائل نام) = قدر
SHA256 (ubuntu-24.04.iso) = a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
MD5 یا SHA-256
آفیشل سائٹ جو بھی فراہم کرے اس کی توثیق کریں، لیکن اگر آپ کو انتخاب کرنے کا موقع ملے: MD5 ٹرانزٹ میں ہونے والی حادثاتی خرابی کے خلاف بالکل کافی ہے (کوئی بھی بے ترتیب تبدیلی عملی طور پر MD5 کو تبدیل کر دیتی ہے)۔ جان بوجھ کی گئی چھیڑ چھاڑ کے خلاف — سیکیورٹی سوفٹ ویئر، سرٹیفکیٹس، دستخط شدہ پیکجز — آپ کو SHA-256 یا اس سے مضبوط چاہیے، کیونکہ عملی تصادم حملے حملہ آوروں کو دو مختلف فائلیں بنانے کی اجازت دیتے ہیں جن کا MD5 ایک ہی ہوتا ہے۔ یہ کہانی نیچے "سیکیورٹی ہسٹری" میں بیان کی گئی ہے۔
اس کے بجائے کمانڈ لائن سے توثیق کرنا
لینکس اور میک او ایس پر، چیکسم ٹولز پورے مینی فیسٹ کی خود کار طریقے سے توثیق کے لیے -c کو قبول کرتے ہیں — دستی موازنہ کی ضرورت نہیں۔ ونڈوز کے بلٹ ان کمانڈ صرف قدر کا حساب لگاتے ہیں، جس کے بعد آپ اسے خود آفیشل سٹرنگ سے موازنہ کرتے ہیں۔
| ماحول | توثیق کمانڈ |
|---|---|
| لینکس | sha256sum -c SHA256SUMS (مینی فیسٹ میں درج ہر فائل کی جانچ کرتا ہے) |
| میک او ایس | shasum -a 256 -c checksum.txt |
| فوری سنگل قدر چیک | echo "official-value filename" | sha256sum -c - (کامیابی پر OK پرنٹ کرتا ہے) |
| ونڈوز | Get-FileHash <file> -Algorithm SHA256 کے ساتھ حساب لگائیں، پھر اسے آفیشل قدر سے موازنہ کریں |
ایک مختصر سیکیورٹی ہسٹری: MD5 کیسے ٹوٹا
MD5 ایک رات میں ناکام نہیں ہوا — تعلیمی شعبے میں پہلی کریک سے لے کر حقیقی دنیا میں جعلی سرٹیفکیٹس تک، یہ دو دہائیوں کا وقت لگا۔
-
1992
MD5 شائع ہوا
رونالڈ ریوسٹ نے RFC 1321 میں MD5 جاری کیا۔ تیز، لاگو کرنے میں آسان اور ہمیشہ 128 بِٹ ڈائجسٹ تیار کرنے والا، یہ فوری طور پر فائل چیکسمز اور پاس ورڈز کے ذخیرہ کے لیے معیاری بن گیا — اور اسے خفیہ نگاری کے لحاظ سے محفوظ سمجھا جاتا تھا۔
-
2004
وانگ ژیاؤ یون کی ٹیم نے MD5 کے مکمل تصادم کا انکشاف کیا
CRYPTO 2004 میں، چینی ریاضی دان وانگ ژیاؤ یون کی قیادت والی ٹیم نے MD5 پر مکمل تصادم حملے کا مظاہرہ کیا — مختلف مواد والی دو فائلیں بنائیں جو ایک ہی ہیش تیار کرتی ہیں (ابتدا میں IBM P690 سپر کمپیوٹر پر تقریباً ایک گھنٹے میں؛ بعد کی بہتریوں سے عام ہارڈ ویئر پر سیکنڈوں میں یہ کام ہونے لگا)۔ MD5 کا وعدہ کردہ تصادم مزاحم ختم ہو چکا تھا۔ اس کے بعد جو طویل تالیاں بجا ئی گئیں وہ خفیہ نگاری کے سب سے مشہور لمحات میں سے ایک بن گیا۔
-
2008
جعلی سرٹیفکیٹس حقیقی انٹرنیٹ پر نمودار ہوئے
مارک سٹیونز، الیگزینڈر سوٹیروف اور دیگر نے براؤزرز کے ذریعے قابل اعتماد درمیانی CA سرٹیفکیٹ جعلی بنانے کے لیے منتخب کردہ پریفکس تصادم استعمال کیا: مختلف پریفکس والے سرٹیفکیٹس ایک ہی دستخط رکھتے ہیں۔ حملہ آور اب کسی بھی جعلی سائٹ کے لیے "صحیح" HTTPS سرٹیفکیٹ جاری کر سکتا تھا۔ سرٹیفکیٹ اتھارٹیز نے اس کے فوراً بعد MD5 سرٹیفکیٹ جاری کرنا بند کر دیا۔
-
2012
فلےم میلویئر نے MD5 کے ذریعے Windows پر حملہ کیا
ریاست کی حمایت یافتہ فلےم میلویئر نے مائیکروسافٹ کے ٹرمینل سرور لائسنس اتھارٹی کو جعلی کوڈ دستخط سرٹیفکیٹ پر دستخط کرنے کے لیے MD5 تصادم استعمال کیا، جس سے یہ مائیکروسافٹ کے دستخط شدہ اپ ڈیٹ کے بھیس میں مشرق وسطیٰ میں پھیل گیا۔ یہ MD5 تصادم کا استعمال کرنے والا پہلا حقیقی دنیا کا حملہ تھا۔ مائیکروسافٹ نے ہنگامی پچ کے تحت سرٹیفکیٹ منسوخ کر دیا۔
-
2017
SHAttered: SHA-1 گر گیا
Google اور ڈچ CWI انسٹی ٹیوٹ (مارک سٹیونز وغیرہ) نے ایک جیسے SHA-1 ہیش والی دو مختلف PDF فائلیں شائع کیں — جس کی لاگت تقریباً 6,500 CPU سال اور 110 GPU سال تھی۔ اس کے فوراً بعد براؤزرز نے SHA-1 سرٹیفکیٹ پر اعتماد ختم کر دیا، اور Git پلیٹ فارمز نے اس سے ہٹ کرنے کی رفتار تیز کر دی۔ 160 بِٹ کا دور ختم ہو گیا۔
اہم نکتہ: تصادم حملہ کسی موجودہ فائل کے ہیش کو "کریک" نہیں کرتا — یہ دو مخصوص فائلیں بناتا ہے جو ایک ہی قدر کا ہیش ہوتی ہیں۔ لیکن دستخطوں اور سرٹیفکیٹس کے لیے یہ پہلے سے ہی مہلک جعل سازی کے لیے کافی ہے۔
کمانڈ لائن سے ہیشنگ
جب کوئی براؤزر آس پاس نہ ہو تو ہر OS میں بلٹ ان کمانڈ ہوتی ہے (یہاں SHA-256 دکھایا گیا ہے)۔
| ماحول | کمانڈ |
|---|---|
| Linux / macOS | sha256sum filename (macOS پر: shasum -a 256 filename) |
| Windows PowerShell | Get-FileHash filename -Algorithm SHA256 |
| Windows CMD | certutil -hashfile filename SHA256 |
کوڈ میں ہیشنگ
جب آپ اسکرپٹ لکھ رہے ہوں یا APIs مربوط کر رہے ہوں تو چار عام زبانوں میں کم سے کم مثالیں۔
async function sha256Hex(data) {
const bytes = typeof data === "string"
? new TextEncoder().encode(data)
: new Uint8Array(data);
const digest = await crypto.subtle.digest("SHA-256", bytes);
return [...new Uint8Array(digest)]
.map((b) => b.toString(16).padStart(2, "0"))
.join("");
}
// Text
console.log(await sha256Hex("hello"));
// Files: digest accepts an ArrayBuffer directly
const buf = await file.arrayBuffer();
console.log(await sha256Hex(buf));
براؤزر کا مقامی Web Crypto صرف SHA فیمس کو سپورٹ کرتا ہے اور اس کے لیے HTTPS یا localhost کی ضرورت ہوتی ہے۔ MD5 کے لیے تھرڈ پارٹی لائبریری درکار ہوتی ہے۔
echo hash('sha256', 'hello'); // 64 hex characters
echo md5('hello'); // same as hash('md5', 'hello')
// Streamed: hashes the file without loading it into memory
echo hash_file('sha256', 'setup.exe');
hash() اور hash_file() md5, sha1, sha256, sha512 اور دیگر کو سپورٹ کرتے ہیں۔ فائل ہیشنگ سٹریم میں ہوتی ہے، اس لیے یہ کم میموری استعمال کرتا ہے۔
import hashlib
print(hashlib.sha256(b"hello").hexdigest())
print(hashlib.md5(b"hello").hexdigest())
# Large files: streamed, low memory (Python 3.11+)
with open("setup.exe", "rb") as f:
print(hashlib.file_digest(f, "sha256").hexdigest())
hashlib معیاری لائبریری کو انسٹال کرنے کی ضرورت نہیں ہوتی۔ بڑی فائلوں کے لیے سٹریم ہیشز کے لیے file_digest() استعمال کریں (Python 3.11+)۔
use sha2::{Digest, Sha256};
use md5::Md5;
// Text
println!("{:x}", Sha256::digest(b"hello"));
println!("{:x}", Md5::digest(b"hello"));
// Large files: streamed, low memory
let mut file = std::fs::File::open("setup.exe")?;
let mut hasher = Sha256::new();
std::io::copy(&mut file, &mut hasher)?;
println!("{:x}", hasher.finalize());
ہیشنگ معیاری لائبریری میں شامل نہیں ہوتی۔ Cargo.toml میں RustCrypto sha2 اور md-5 کریٹ شامل کریں۔ std فیچر فعال ہونے پر، io::copy فائلوں کو ہیشر میں سٹریم کرتا ہے۔
عمومی سوالات
کیا میرے متن اور فائلیں اپلوڈ ہو گئیں؟
نہیں، ہر چیز آپ کے براؤزر میں کمپیوٹ ہوتی ہے: SHA فیملی بلٹ ان Web Crypto API سے استعمال ہوتی ہے، اور MD5 صفحہ JavaScript میں چلتا ہے۔ یہ ٹول نیٹ ورک سے منقطع ہونے پر بھی کام کرتا ہے — کسی حساس فائل کے ساتھ اسے آزما کر دیکھیں۔
خالی ٹیکسٹ میں بھی ہیش کیوں ہوتا ہے؟
ہیش الگورتھم صفر بائٹ کے لیے بھی ایک منفرد فکسڈ آؤٹ پٹ بیان کرتے ہیں۔ خالی سٹرنگ کا MD5 d41d8cd98f00b204e9800998ecf8427e ہے اور اس کا SHA-256 e3b0c442 سے شروع ہوتا ہے۔ یہ ٹول ان پٹ خالی ہونے پر نتائج کو صرف چھپا دیتا ہے تاکہ آپ غلطی سے انہیں کاپی نہ کریں۔
کیا یہ کسی بھی سائز کی فائلوں کو ہیش کر سکتا ہے؟
یہ دستیاب براؤزر میموری پر منحصر ہے — چند سو MB کے انسٹالرز اور ڈسک امیجز عام طور پر ٹھیک رہتے ہیں۔ فائلوں کو ایک ہی پاس میں میموری میں پڑھا جاتا ہے، اس لیے کئی GB کی فائلوں کے لیے کمانڈ لائن ٹولز (sha256sum, certutil) ترجیح دیں۔
ہیشز کی لمبائی مختلف کیوں ہوتی ہے؟
لمبائی الگورتھم کے ذریعے طے ہوتی ہے: MD5 32 ہیکس کریکٹرز کا ہوتا ہے، SHA-1 40 کا، SHA-256 64 کا اور SHA-512 128 کا ہوتا ہے۔ فی بائٹ میں دو ہیکس کریکٹرز ہوتے ہیں — اور لمبائی ان پٹ کے سائز سے آزاد ہوتی ہے: ایک بائٹ کی فائل اور کئی GB کی فائل دونوں SHA-256 سے 64 کریکٹرز دیتی ہیں۔
کیا میں اسے API دستخط بنانے کے لیے استعمال کر سکتا ہوں؟
جی ہاں۔ بہت سے اوپن پلیٹ فارمز MD5 یا SHA-256 کے ساتھ "پیرامیٹرز + سیکرٹ" کو ہیش کرکے درخواستیں دستخط کرتے ہیں۔ یہ ٹول ڈیبگنگ کے دوران دستخط کی قدر جانچنے کے لیے بہترین ہے؛ پروڈکشن میں، اپنے سرور سائیڈ لینگویج لائبریری میں ہیشز کمپیوٹ کریں اور کبھی بھی سیکرٹ کو فرنٹ اینڈ کوڈ میں شامل نہ کریں۔
میں اس ٹول کے ذریعے کسی چیکسم کی موازنہ کیسے کر سکتا ہوں؟
"File checksum" ٹیب پر سوئچ کریں، فائل کو اندر ڈراپ کریں، اور آفیشل سائٹ سے چیکسم کو نتائج کے اوپر والے باکس میں پیسٹ کریں۔ یہ ٹول لمبائی کے ذریعے الگورتھم کو خود بخود پہچانتا ہے (32 کریکٹرز MD5، 40 SHA-1، 64 SHA-256، 96 SHA-384، 128 SHA-512): جب وہ اتفاق کرتے ہیں تو میچ والی قطار سبز رنگ میں "Passed" نوٹ کے ساتھ ہوتی ہے، اور جب نہیں تو سرخ رنگ میں ہوتی ہے۔ حروف کی صورت، گرد کے خالی جگہ اور لائن بریک کو خود بخود نظر انداز کر دیا جاتا ہے۔
متعلقہ ٹولز
دیگر انکوڈنگ، کرپٹو اور پاس ورڈ ٹولز۔
Base64 انکوڈ / ڈیکوڈ
بائنری اور ٹیکسٹ کے درمیان تبادلہ کریں — Data URIs اور HTTP بیسیک آتھنٹیکیشن ڈیبگنگ کے لیے آسان۔
پاس ورڈ جنریٹر
مضبوط بے ترتیب پاس ورڈز تیار کریں — پاس ورڈز بے ترتیب اور منفرد ہونے چاہئیں، نہ کہ ہیش کے ذریعے "اینکرپٹ" ہوں۔
پاس ورڈ طاقت چیک کرنے والا
یہ چیک کریں کہ آیا پاس ورڈ کافی لمبا اور بے ترتیب ہے، اور آیا یہ معلوم خلاف ورزیوں میں آیا ہے یا نہیں۔