مشفر ومفكك Base58
الإدخال
Base58 ترميز من البيانات الثنائية إلى النص صُمم لتجنب عدد من المحارف سهلة الالتباس. تستبعد أبجدية Bitcoin المحارف 0 O I l وكذلك + /، بينما ترتب أنظمة أخرى الرموز الـ58 نفسها بطريقة مختلفة. من أمثلته المعروفة عناوين Bitcoin القديمة من نوع Base58Check وسلاسل IPFS CIDv0. تحول هذه الأداة داخل المتصفح نص UTF-8 أو بايتات سداسية عشرية دقيقة باستخدام أبجدية Bitcoin أو Ripple أو Flickr، وترفض أي محرف خارج الأبجدية المحددة.
كيفية تشفير Base58 وفك ترميزه
-
1
أدخل بايتات أو سلسلة Base58
اتجاه التشفير يقبل البيانات الست عشرية أو نصا خاما؛ واتجاه فك الترميز يقبل Base58.
-
2
اختر الأبجدية إذا لزم
الافتراضي هو Base58 الخاص بـ Bitcoin؛ وتتوفر متغيرات Ripple وFlickr للتوافق.
-
3
شغّل التحويل
Base58 لا يقسم إلى مجموعات مرتبة من 5 أو 6 بتات؛ بل يعامل كعدد صحيح واحد بترتيب البايت الأكبر أولا، ويقسم على 58 مرارا.
-
4
انسخ النتيجة
تحافظ السلاسل المشفرة على البايتات الصفرية البادئة كأحرف `1` بادئة (محرف الصفر في أبجدية Bitcoin).
أبجدية Bitcoin Base58
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
لاحظ ما هو مفقود: 0، O، I، l. أول محرف في الأبجدية هو 1، ويمثل العدد الصحيح 0.
كيف يعمل فعليا
بخلاف Base64 الذي يقسم البتات في مجموعات ثابتة، يعامل Base58 سلسلة البايتات كلها كعدد صحيح واحد بترتيب البايت الأكبر أولا N ويعبر عنه بالأساس 58:
result = []
while N > 0:
result.prepend(alphabet[N mod 58])
N = N / 58
for each leading zero byte in input:
result.prepend(alphabet[0]) # i.e. '1'
لهذا يصعب بث ترميز Base58 تدريجيا: تحتاج إلى الرقم كله قبل أن تستطيع إخراج أي محرف.
Base58 مقابل Base58Check
تتكون حمولة Base58Check النموذجية لعنوان P2PKH قديم من 25 بايتا: بايت إصدار واحد و20 بايت تجزئة و4 بايتات للمجموع التحققي. المجموع التحققي هو أول 4 بايتات من تجزئة SHA-256 المزدوجة لبايت الإصدار والتجزئة. ينتج ترميز الحمولة كاملة بـBase58 سلسلة العنوان المعروفة.
تحول هذه الأداة Base58 العادي فقط. استخدم مدقق Base58Check مخصصا عندما تحتاج إلى التحقق من إصدار العنوان ومجموعه التحققي.
متغيرات الأبجدية
| المتغير | أين يُستخدم | الفروقات مقابل Bitcoin |
|---|---|---|
| Bitcoin | عناوين BTC، IPFS CIDv0 | الأساس المرجعي |
| Ripple | عناوين XRP | مواضع محارف مُبدَّلة |
| Flickr | روابط صور قصيرة | الأحرف الصغيرة قبل الكبيرة |
لماذا لا نستخدم Base64 فقط؟
لا يغير Base64 الطول كثيرا بين البيانات الثنائية والنص المشفر (4 محارف لكل 3 بايتات)، وهذا فعال. Base58 لديه زيادة متغيرة قليلا لكنه بلا محارف ملتبسة، وهذا ما تحتاجه عندما يضطر شخص إلى نسخ عنوان يدويا أو قراءته عبر الهاتف.
الأسئلة الشائعة
ليس دائما. Base58 أفضل عندما يتعامل البشر مع السلسلة؛ وBase64 أفضل عندما تنقلها الآلات. Base64 يرمز 6 بتات لكل محرف مقابل نحو 5.86 في Base58، لذلك Base64 أضيق قليلا.
يرمز Base58 عددا صحيحا كبيرا، لذلك يختلف الطول بمحرف أو محرفين حسب البتات العليا. عناوين P2PKH النموذجية 34 محرفا، لكن 33 ممكنة.
يمكن للأداة فك السلسلة إلى بايتات خام؛ اختر الإخراج السداسي العشري لإظهار أي بايتات دون فقدان. لكنها لا تتحقق من الإصدار أو المجموع التحققي، لذلك لا يثبت نجاح الفك صحة العنوان. استخدم مدقق Base58Check لهذا الغرض.
نعم. كل بايت صفري في بداية الإدخال يصبح محرف 1 في الخرج، وهذا ما يجعل عناوين Bitcoin التي تبدأ بـ 1 تعمل.
أدوات ذات صلة
معرّف التشفير
قم بلصق نص مشفر أو قيمة هاش، وسيقترح المعرّف خوارزميات أو أنظمة ترميز محتملة مثل MD5 وSHA وbcrypt وAES وRSA وBase64 وغيرها.
حاسبة تجزئة الملفات
احسب قيم التجزئة (hash) MD5 وSHA-1 وSHA-256 وSHA-512 للنص أو محتوى الملف الذي تلصقه للتحقق من عمليات التنزيل وسلامة الملفات.
مولد هاش
أنشئ قيم تجزئة MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512 وCRC32 من النصوص، مع ملخّص جاهز للنسخ لاستخدامه في فحوص المجموع والمقارنات.
محوّل الإيثريوم إلى الدولار الأمريكي
حوّل الإيثريوم (ETH) إلى دولار أمريكي بسعر ETH/USD الفعلي أو بسعر تدخله بنفسك، واعرف قيمة أي مبلغ من ETH بالدولار الأمريكي.
مولّد HMAC
يُولِّد توقيعات HMAC (SHA-256، SHA-384، SHA-512، SHA-1، MD5) من رسالة ومفتاح سري لاستخدامها في مصادقة واجهات برمجة التطبيقات (APIs) والويب هوكز (webhooks).
معرف التشفير
قم بلصق النص المشفر وسيقترح المعرف أنظمة تشفير/ترميز محتملة: Base64، وHex، وثنائي، ومورس، وسيزر أو إبدال، وJWT، والتجزئات الشائعة.
الأداة متاحة بلغات أخرى
- Base58-kodare och avkodare [SV]
- Base58 인코더 및 디코더 [KO]
- Encodeur et décodeur Base58 [FR]
- Base58 encoder en decoder [NL]
- Bộ mã hóa và giải mã Base58 [VI]
- Koder i dekoder Base58 [PL]
- ตัวเข้ารหัสและถอดรหัส Base58 [TH]
- Encoder dan Decoder Base58 [ID]
- Base58-Encoder/Decoder [DE]
- Codificador y Decodificador Base58 [ES]
- Base58エンコーダー・デコーダー [JA]
- Codificador e Decodificador Base58 [PT]
- Base58 Kodlayıcı ve Çözücü [TR]
- Base58 编码器和解码器 [ZH]
- Base58 Encoder and Decoder [EN]
- Codificatore e Decodificatore Base58 [IT]
- Кодировщик и декодировщик Base58 [RU]