SmartKitio

البرمجة

الترميز مقابل التشفير: ما الفرق؟

ما زالت مراجعات الأمان تجد مفاتيح API «محمية» بـ Base64 وكلمات مرور مخزنة كنص مشفر قابل للعكس دون إدارة مفاتيح. الترميز يغيّر التمثيل لينجو البيان من القناة؛ التشفير يغيّر المعنى حتى يستعيده حاملو المفتاح فقط؛ التجزئة تضغط البيانات إلى بصمة أحادية الاتجاه. الضغط يصغّر الحجم. لكل أداة دور — ولا واحدة منها تُعوّض الأخرى.

5 دقائق قراءة · آخر تحديث 2026-10-04

يدان تكتبان على حاسوب محمول مع مفهوم أيقونة قفل أمني
صورة عبر Unsplash · رخصة Unsplash

أربع تحويلات يخلط الناس بينها

الترميز والتشفير والتجزئة والضغط

الترميزالتشفيرالتجزئةالضغط
الهدف الأساسيتمثيل البيانات بشكل آخرالسريةالسلامة / البصمةتقليل الحجم
هل يلزم سر؟لانعم (مفتاح)اختياري (فلفل/ملح لكلمات المرور)لا
قابل للعكس؟نعم، لأي شخص يعرف المخططنعم، بالمفتاحمصمم ليكون أحادي الاتجاهنعم، بلا فقد أو بفقد
مثالBase64 وترميز النسبة المئوية وhexAES-GCM وTLSSHA-256 وbcryptgzip وJPEG
استخدام خاطئ«إخفاء» كلمة مرورتخطي TLS لأن الحمولة مُشفرة مرةتشفير ثم تجزئة (اختر مساراً واحداً)ضغط أسرار لا تستطيع فحصها

الترميز: البقاء لا السرية

يرسم الترميز البايتات أو النص إلى أبجدية آمنة للقناة. قيّدت أنظمة البريد تاريخياً الأسطر على ASCII؛ JSON وXML نصيان؛ الروابط تحجز أحرفاً مثل ? و& و= و# للبنية. الترميزات خوارزميات علنية — معرفة المخطط كافية للعكس.

Base64

يمثّل Base64 (RFC 4648) البيانات الثنائية بـ 64 حرف ASCII قابل للطباعة مع حشو. يكبّر الحجم بنحو الثلث لكنه يتيح تضمين صور أو رموز أو نص مشفر داخل سلاسل JSON. فك الترميز trivial بأي مكتبة أو أدوات base64-encoder وbase64-decoder في SmartKitio — ولهذا Base64 ليس خزنة.

text
Hello → SGVsbG8=
(JSON-safe string carrying the same bytes)

ترميز URL (بالنسبة المئوية)

تنقسم الروابط إلى مخطط وسلطة ومسار واستعلام وجزء. يجب ترميز الأحرف المحجوزة في قيم الاستعلام (%20 للمسافة، %26 لـ &) حتى لا يقرأ المحلّل مدخلات المستخدم خطأ. url-encoder في SmartKitio يطبّق القواعد نفسها التي تستخدمها المتصفحات عند بناء سلاسل الاستعلام — الترميز عن البنية لا إخفاء القيم عن المستخدم عند لوحة المفاتيح.

النظام الست عشري

يكتب hex كل بايت كـ nibbleين (0-9، a-f). يضاعف الحجم مثل Base64 لكنه يتجنب مشاكل الأبجدية والحالة. تراه في تجزئات Git commit وعناوين MAC وتفريغات تصحيح — لا لأن hex آمناً، بل لأنه غير مبهم عند النطق.

التشفير: السرية بالمفاتيح

يستخدم التشفير مفتاحاً وخوارزمية لإنتاج نص مشفر يجب أن يكون عديم الفائدة دون مادة مفتاح مصرح بها. المخططات المتماثلة مثل AES تستخدم سراً مشتركاً للبيانات الكبيرة؛ غير المتماثلة مثل RSA أو ECDH تفاوض مفاتيح أو توقّع رسائل. تفضّل الواجهات الحديثة التشفير الموثّق (مثل AES-GCM) حتى يُكتشف العبث لا مجرد تشويش النص الصريح.

AES في التطبيقات

يلاقي المطوّرون AES عند تشفير ملفات في الراحة أو أعمدة قواعد بيانات أو حمولات جلسات. الاستخدام الصحيح يتطلب IV أو nonce عشوائياً، وتدوير مفاتيح، وعدم ابتكار وضع تشفير خاص. مفتاح AES ثابت مدمج في تطبيق جوال ما زال سراً مضمناً في العميل — يستطيع المهاجمون استخراجه.

TLS على السلك

يُشفّر Transport Layer Security ويوثّق HTTP والبريد وبروتوكولات كثيرة بين العملاء والخوادم. يحمي TLS البايتات أثناء النقل من التنصّت السلبي وكثير من الهجمات النشطة عند التحقق من الشهادات. لا يعوّض الحاجة لتجزئة كلمات المرور في الراحة أو تجنّب وضع الأسرار في روابط تظهر في السجلات.

الترميز مقابل التشفير

الترميز (مثل Base64)

  1. 1

    بايتات مدخلة

    أي حمولة ثنائية أو نص

  2. 2

    خوارزمية علنية

    أبجدية RFC 4648 + حشو

  3. 3

    نص مُرمّز

    آمن لـ JSON أو البريد أو قنوات ASCII

  4. 4

    أي شخص يفك الترميز

    لا مفتاح؛ المخطط هو القصة كلها

التشفير (مثل AES-GCM)

  1. 1

    نص صريح + مفتاح

    مفتاح سري من KMS أو مصافحة TLS أو تخزين مختوم

  2. 2

    Cipher + nonce

    IV/nonce عشوائي لكل رسالة حيث يلزم

  3. 3

    نص مشفر

    بلا معنى دون مادة مفتاح

  4. 4

    فك مشفّر مصرح

    حامل المفتاح (أو جلسة TLS) يستعيد النص الصريح

الترميز يغيّر الملبس؛ التشفير يقفل الغرفة.

التجزئة: بصمات أحادية الاتجاه

تربط دوال التجزئة التشفيرية أي مدخل بملخص بطول ثابت. تغييرات صغيرة في المدخل تُحدث تغييراً جلّياً في المخرج. SHA-256 تجزئة عامة للسلامة وعنونة المحتوى؛ ليست خوارزمية تخزين كلمات مرور بذاتها لأن GPUs يمكنها brute-force كلمات قصيرة ما لم تُبطّأ وتُملّح.

تجزئة كلمات المرور

  • استخدم تجزئات مخصصة لكلمات المرور: bcrypt وscrypt وArgon2 أو PBKDF2 بعوامل عمل عالية.
  • خزّن ملحاً فريداً لكل مستخدم حتى تفشل جداول قوس قزح.
  • فلفل اختياري (سر جانب الخادم) يضيف عمقاً دفاعياً عند إدارته جيداً.
  • لا تشفّر كلمات المرور قابلة للعكس للتحقق من الدخول — قارن الملخصات بمساواة زمن ثابت.

أداة sha256-hash في SmartKitio توضّح SHA-256 للمجاميع والتعلّم. لتخزين كلمات مرور حقيقي، اتبع إرشاد OWASP ومكتبات المنصة — لا تجزئة سريعة واحدة.

الضغط محور آخر

gzip وBrotli يصغّران استجابات HTTP. JPEG وWebP يتخليان عن معلومات للصور. الضغط ليس ترميزاً لأمان النقل ولا تشفيراً. الأسرار المضغوطة ما زالت تسرّب أنماط الطول في بعض نماذج التهديد، ولا يجب ضغط ثم تشفير بساطة دون فهم هجمات CRIME/BREACH على ضغط HTTP.

مفاهيم خاطئة تنجو من التدقيق

  1. «نرمّز مفتاح API بـ Base64، فهو آمن.» — أي شخص يستطيع فك الترميز.
  2. «شفّرنا قاعدة البيانات، فTLS لا يهم.» — البيانات أثناء الحركة وفي الراحة ضوابط منفصلة.
  3. «جزّأنا بـ SHA-256 مرة واحدة.» — التجزئات السريعة غير كافية لكلمات مرور منخفضة العشوائية.
  4. «ترميز URL يخفي كلمة المرور في سلسلة الاستعلام.» — تبقى في سجل المتصفح والسجلات وترويسات Referer.
  5. «JWT مُشفّر لأنه يبدو مشوّشاً.» — JWT غالباً موقّع فقط (JWS) أو يستخدم JWE حين يلزم التشفير.

أمثلة محلولة

دليل قرار سريع

تحتاج إلى…استخدم…لا…
وضع ثنائي في JSONترميز Base64AES بلا قصة مفتاح
بناء سلسلة استعلام بأمانترميز النسبة المئويةتشفير كل معامل
التحقق من سلامة ملفمقارنة تجزئة SHA-256ترميزاً قابلاً للعكس
حماية حركة HTTPTLS (HTTPS)Base64 على الجسم
تخزين كلمات مرور الدخولArgon2/bcrypt + ملحMD5 أو SHA-256 وحده

أدوات Base64 وURL في SmartKitio تعمل في المتصفح لتحويلات سريعة؛ أدلة base64-encoding-vs-encryption توضّح متى تكون هذه التحويلات مناسبة. استخدمها للتعلّم والتصحيح — لا «تأمين» الأسرار.

معايير وإرشاد

  1. RFC 4648 — Base64 encodings
  2. RFC 3986 — URI generic syntax (percent-encoding)
  3. NIST FIPS 197 — AES
  4. OWASP Password Storage Cheat Sheet

مقالات ذات صلة