الفرق بين 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
الفرق بين 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
0 Comments 0 Shares 332 Views 0 Reviews