19
مارس

دوال التشفير في MySQL

تحتوي MySQL على دوال تشفير بيانات (Data Cryptographic). في هذه المقالة سأستعرض أهم هذه الدوال.

التشفير باستخدام خوارزمية AES

توفر لنا MySQL إمكانية تشفير البيانات بواسطة خوارزمية AES (Advanced Encryption Standard) algorithm.

AES هي عبارة عن خوارزمية (algorithm) تشفير (Cryptographic) متطوّرة وقوية جداً. تمكنك من حفظ البيانات بطريقة آمنة.

لنأخذ مثلاً تشفير كلمة “أحمد”:

select @name := AES_ENCRYPT('أحمد','123');

يقوم السطر أعلاه بتشفير كلمة “أحمد” وتخزينها في متغير يحمل الاسم name ومفتاح التشفير هو 123.

يمكننا فك التشفير كما يلي:

select AES_DECRYPT(@name,'123');

ملاحظة: يجب عليك الاحتفاظ بالمفتاح إذا كنت ترغب بفك التشفير. ولا تنسى استخدام مفاتيح صعبة التخمين.

التشفير باستخدام encode, decode

يمكن أيضاً استخدام دوال encode و decode لإجراء عملية التشفير بالمفتاح كما يلي:

select @name := encode('أحمد','123');
select decode(@name, '123');

التشفير المبعثر (غير قابل للاسترجاع)

يستخدم التشفير المبعثر (Cryptographic Hash Function) لتشفير البيانات الحساسة ككلمات المرور (Passwords) بطريقة لا يمكن فيها استرجاع المشفّر.

بعكس AES لا يمكن فك تشفير البيانات المشفّرة بواسطة “التشفير المبعثر”.

أشهر دوال التشفير المبعثر هي:

  • MD5 أو (Message-Digest 5): لعلها الأكثر انتشاراً بين التطبيقات إلا أنها ليست الآمن. تقوم هذه الدالة بتوليد قيمة طولها 128 بت، مثال:
select md5('password');
  • password: دالة التشفير الافتراضية في MySQL:
select password('password');
  • sha و sha1: دوال تشفير باستخدام نظام SHA أو (Secure Hash Algorithm):
select sha1('password');

ينصح باستخدام دالة sha-1 في تخزين كلمات المرور.

ودمتم بخير…

لا يوجد تعليقات

لا يوجد تعليقات حتى الان.

تعليقك على الموضوع

خلاصات التعليقات RSS   التعقيبات

جميع الحقوق محفوظة لـ مدونة أحمد المياحي © 2017