tgoop.com/the_developer_guide/5498
Create:
Last Update:
Last Update:
الفرق بين Hashing و Encoding و Encryption 🔐
.
.
لو بتشتغل في الباك إند، أو بتتعامل مع APIs، أو حتى بتشتغل على تطبيق بسيط فيه عملية تسجيل دخول…
أكيد قابلت مصطلحات زي Hashing و Encoding و Encryption.
وممكن تفتكر إنهم شبه بعض، أو إن أي واحد فيهم "بيأمن البيانات وخلاص".
لكن الحقيقة إن كل واحد له هدف مختلف تمامًا، ولو استخدمت حاجة غلط ممكن تفتح ثغرات أمنية وأنت مش واخد بالك.
تعال ندردش شوية عن الفرق بينهم...
———
✅ أولًا: الـ Hashing:
تخيل إنك بتعمل بصمة لأي معلومة…
مش علشان ترجع لها بعدين، لكن علشان تتأكد إنها متغيرتش.
الـ Hashing بياخد قيمة (زي password مثلًا)، ويطلع منها سلسلة ثابتة الطول شكلها عشوائي – اسمها Hash – واللي بتستخدمها عشان تطابق أو تتحقق من البيانات من غير ما تحتاج تخزن الأصل.
🎯 المهم هنا:
- العملية دي One Way (مفيش رجوع).
- لو غيرت حرف واحد، الـ Hash كله بيتغير.
- وده اللي بنستخدمه مثلًا لما نخزن الـ Passwords في قواعد البيانات.
⚠️ لو حد عرف الـ Hash، مش هيعرف يطلع منه الباسورد الأصلي (بس ممكن يعمل Brute Force ويحاول يخمنه).
———
✅ ثانيًا: الـ Encoding:
ده ملوش أي علاقة بالسرية...
الـ Encoding هو طريقة بنحول بها البيانات لشكل تاني علشان يسهل تخزينها أو نقلها.
زي Base64، اللي بتحول مثلًا صورة أو نص يحتوي رموز غريبة لشكل مفهوم لأي نظام.
🎯 المهم هنا:
- العملية دي Two Way (تقدر ترجّع البيانات الأصلية).
- مفيش أي حماية أو تشفير، أي حد يعرف نوع الـ encoding يقدر يفكه بسهولة.
- الهدف منه بس إنك تنقل الداتا بدون ما تضيع أو تبوظ.
مثال بسيط: لو عندك some text
ممكن يتحول بـ Base64 إلى: c29tZSB0ZXh0
———
✅ ثالثًا: الـ Encryption:
أنت عايز تبعت داتا سرية لحد، ومش عايز أي حد في النص يفهمها.
فبتعمل لها تشفير باستخدام مفتاح (Key)، والمستلم اللي معاه المفتاح يقدر يفكها.
🎯 المهم هنا:
- العملية دي Two Way، بس لازم المفتاح.
- لو المفتاح اتسرّب أو ضاع، أي حد يقدر يفك البيانات.
- بتستخدمها في إرسال معلومات حساسة زي بطاقات الدفع أو بيانات المستخدمين.
فيه نوعين من الـ Encryption:
- الـ Symmetric: نفس المفتاح بيشفّر ويفك (زي AES).
- الـ Asymmetric: مفتاحين، واحد بيشفّر (public) والتاني بيفك (private) – زي اللي بيستخدم في HTTPS.
———
💡 إمتى تستخدم مين؟
- بتخزن passwords؟ يبقى Hashing
- بتبعت صورة أو داتا عبر API؟ يبقى Encoding
- بتبعت معلومات حساسة زي tokens أو بيانات مستخدم؟ يبقى Encryption
———
وفقكم الله لكل خير 🌿
BY DevGuide 🇵🇸
Share with your friend now:
tgoop.com/the_developer_guide/5498
