الانتقال إلى المحتوى

تشفير البيانات في الجداول


ابو صالح

Recommended Posts

هناك عدة طرق بامكانك تستطيع عمل تشفير البيانات المهمة داخل قاعدة البينات (كلمات السر، الرواتب، ... الخ)، احد الطرق الموجوده في اوراكل هي استاخدام البكج dbms_obfuscation_toolkit لتشفير البيانات، وهي تعتمد على وجود مفتاح تستخدمه في عملية التشفير encryption واعادة التشفير decryption، وفي المثال التالي سنقوم بانشاء دالتين function لكي نستخدمها في في encryption و decryption، ويفضل ان يكون العمود اللذي سنقوم بتشفيره من نوع raw.

الداله الاولى تستقبل متغيريين الاول هي القيمة اللتي نريد عمل لها تشفير سواء كانت رقم اونص ، والقيمة الثانية هي المفتاح اللذي سنستخدمه في عملية التشفير،

والداله الثانيه ايظا تستقبل متغيرين كالاولى، لاكن هنا المتغير الاول هو اسم العمود ، والثاني هو المفتاح اللذي استخدمناه في عملية التشفير واذا تم ادخال قيمة خاطئة لن تتمكن من رؤية هذه البيانات..

ملاحظة: تجدون الكود لدالتين في المرفقات
هذه طريقة استخدامها:

SQL> insert into test1 values ('Ahmad',raw_enc(554864,'password'),raw_enc(15000,'password'))

1 row created.

SQL> insert into test1 values ('Fahad',raw_enc(503814,'password'),raw_enc(3400,'password'))

1 row created.


SQL> insert into test1 values ('Khalid',raw_enc(15378,'password'),raw_enc(9500,'password'))



وهذه نتيجة الاستعلام اذا لم نقوم بعمل decrypt للبيانات

SQL> select * from test1;


NAME			EMP#						   AMOUNT
--------------- ------------------------------ --------------------------
Ahmad		   B814BB6E5840B56D			   4210906DD0FE76C9
Fahad		   635C2F9D4E634CEB			   8734709C75CA5759
Khalid		  B8FF62E020CD0AF8			   C8B9A3960EF935B7


3 rows selected.



بعد التشفير باستخدام الداله


SQL> select name,raw_dec(emp#,'password')"EMP#",raw_dec(amount,'password')"AMOUNT" from test1;


NAME			EMP#						   AMOUNT

--------------- ------------------------------ ------------------------------

Ahmad		   554864						 15000

Fahad		   503814						 3400

Khalid		  15378						  9500



3 rows selected.

Funcation.txt

رابط هذا التعليق
شارك

جزاك الله كل خير لكن سؤالي
اذا كانت قاعدة البيانات موجودة بالاصل و عند ادخال البيانات لم يتم تشفيرها و ما اريده الان هو عندما يقوم المستخدم بعمل select ان تظهر البيانات مشفرة كيف اقوم بهذه الخطوة

جزاك الله كل خير

رابط هذا التعليق
شارك

  • بعد 4 أسابيع...
  • بعد 1 شهر...
  • بعد 3 أسابيع...
  • بعد 11 شهور...

شكرا جزيلا ليكم وربنا يوفقكم كمان وكمان
انا راح اجرب في الكود لاني كتير محتاجه
للتشفير خاصة في الجدول واذا لقيت اي مشكله
بتمني تساعدوني فيها مره تانيه ...
اختكم في الله
قمر الاسلام

رابط هذا التعليق
شارك

  • بعد 8 سنة...

رحمك الله يا مبدع.. 

والله أنها معولمة مفيدة ... 

أسال الله أن ينعك بما تركت .. 

إنا لله وإنا إليه راجعون..

 

ربي رحمه وأسكنه أعالي الجنان.. اللهم آمين..

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية