الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال فى منتهى الأهمية كلمة المرور

مغلق
بدأه أحمد حسين أحمد غانم في 11 نوفمبر 2001 · 14 رد · 1,473 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء :

قمت بعمل برنامج وقمت بعمل كلمة مرور وإسم مستخدم للدخول

على البرنامج لكن ماأريد هو أن تكون كلمة المرور مشفرة داخل

القاعدة بحيث لو عملت select على الجدول الذى بة إسم المستخدم

وكلمة المرور لا يستطيع أحد أن يعرف كلمة المرور ولكم منى جزيل

الشكر

#2

تحياتي للجميع

اخي الكريم لحل مثل هذه المشكله عادتا ما اقوم بعمل شيفره معينه

داخل البرنامج تقوم بتحويل كلمة السر الى ارقام تعتمد على

الكثير من البيانات. ويتم تخزينها في قاعدة البيانات .

وعند عمل select ستجد انها ارقام غير واضحه المعنى .

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

هذا ابسط حل .

تحياتي للجميع.

#3

الأخ النبع :أرجو توضيح الإجابة أكثر وشكرا لكم

#4

تحياتي للجميع

اخي الكريم لو فرضنا انه يوجد مستخدم اسمه ali

وكلمة السر الخاصه به هي ali123

عند ادخال كلمة السر يتم تحويل كل الاحرف الى ارقام + حرفy كما يلي :

a = y01

L = y12

I = y09

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

------

بالنسبه للارقام

------

وكل رقم يتم ضربه ب 2 ووضع بجانب الناتج اشارة x لمعرفة انه حرف

وتكون كلمة السر الان = y01y12y09x02x04x06

وهي التي تخزن في قاعدة البيانات حيث من يعمل جملة select

لا يرى سوى هذه الارقام

وعند استرجاع كلمة السر الى شكلها الحقيقي يكون بتمرير المعادله

التي حولتها الى ارقام لتحولها الى شكلها الاصلي

مثال

يتم تحويل كل ( y01y12y09x02x04x06 ) الى

x06 = 06/2 = 3

x04 = 04/2 = 2

x02= x02/2 = 1

y09 = i

y12 = L

y01 = a

ويكون ناتج الكلمه = ali123

ارجو ان تكون وصلت لك الفكره

ومن اجل اجراء مثل هذا العمل يجب استعمال

substr

لكل ثلاثة خانات

وهي function موجوده بالpl/sql و الsql

ويوجد اعداد كثيره وصعبه لعمل معادلات شيفره

تحياتي للجميع

#5

الأخ العزيز النبع:

شكرا لإهتمامك ونتمنى لك دوام التوفيق والنجاح بالنسبة لكلمة

المرور فى بعض البرامج نجد أن كلمة المرور مسجلة داخل قاعدة

البيانات برموز غير مفهومة ويصعب قراءتها او حتى إعادة كتابتها

ألا يوجد فى أوراكل دالة تقوم بتنفيذ هذة المهمة

#6

تحياتي للجميع

اخي الكريم حسب علمي لا يوجد

لكن اتمنى من يعرف من باقي الاخوه الاعضاء ان يفيدنا ...

تحياتي للجميع

#7

الأخ العزيز / أحمد حسين أحمد غانم

الأخ العزيز / النبع

تحياتي

المطلوب هو تشفير سلسلة حرفية

#8

الأخ العزيز / أحمد حسين أحمد غانم

الأخ العزيز / النبع

تحياتي

ما رأيكم في عمل function للتشفير تقوم بالآتي :

1 - تأخذ السلسلة الحرفية ( أسم المستخدم - كلمة السر . . . . ألخ )

2 - تقوم بعمل الآتي على كل أحرف السلسلة :

تحول الحرف إلى ascii code

تقوم بعملية حسابية ( جمع أو طرح ) على ascii code

تحول الناتج إلى chr

3 - تقوم بتجميع الأحرف الجديدة الناتجة من الخطوة رقم 2 في

متغير ترسله ال function للتخزين ( البيان بعد التشفير )

و يمكنك أن تحدد الكثير من العمليات الحسابية التي يختار أحداها للتنفيذ على ال ascii code ( داخل ال function ) حسب شروط معينه منها مثلا طول السلسلة الحرفية ( فبالتالي يستخدم العديد من العمليات على العديد من البيانات في نفس الجدول )

و كذلك عمل function لفك الشفرة ( عكس الوظيفة السابقة )

أتمنى أن تجربوا هذه الفكرة

و أتمنى أن تنجح

و أتمنى أن تطوروها كل حسب حاجته

أخيكم

أسامة

#9

لماذا لايتم الاستفادة من كلمة المرور المخزنة في النظام بمعنى أنه لا داعي لتخزين كلمة المرور في جدول جديد .

للتوضيح أكثر عملت نظام صلاحيات متكامل وهو يعمل بكفاءة ولم أحتج أن أخزن كلمة المرور في جدول حيث انشأت جدول جديد للمستخدمين وضعت فيه رقم المستخدم واسمه ومعلومات أخرى .

وعملت شاشة لإدخال المستخدم وكلمة السر وعند الضعظ على زر الموافقة يتم تكوين مستخدم في القاعدة عن طريق الأمر create user المعتاد وفي نفس الوقت يتم إضافة المستخدم الى جدول المستخدمين الذي أنشأته وبهذه الطريقة آخذ اسم المستخدم من جدولي وكلمة السر من جدول النظام ..

أرجو أن يكون كلامي واضحاً .. ومفيداً :)

#10

بسم الله الرحمن الرحيم

أخي العبدلي لنفرض أن لديك 1000 مستخدم ولكل واحد كلمة المرور الخاصة به فهل سيكون انشاء المستخدم بالصورة التي تكلمت عنها عمليا .

#11

الأخ / omar_s

لا أدري ما المشكلة ؟!

هل يعجز النظام عن إضافة هذا العدد .

أعتقد أن بإمكان النظام اضافة عدد كبير جداً من المستخدمين .

بحيث يضاف المستخدم الجديد عن طريق شاشة عن طريقها يتم إضافة

المستخدم في النظام مع كلمة المرور التي حددتها.

:confused:

#12

بسم الله الرحمن الرحيم

أخي العبدلي

الذي فهمته مما ذكرت أنك تنشئ مستخدما جديدا لقاعدة البيانات وعن طريق grant يمكن منحه صلاحيات محددة ، لأنك قد ذكرت في معرض الفكرة المطروحة create user

عذرا أخي فالمقصود هو الفائدة من مناقشة الفكرة ، والتوضيح لكي تتبلور الطريقة المثلى للحماية .

يوجد في الأوراكل طريقة وهي role وهذا مثال

Create Role R1;

Grant Create Table, Create Index ……. To R1;

Grant R1 To User1;

Grant R1 to User2;

هذا مع العلم بأنني لم أستخدم هذه الطريقة من قبل

#13

الأخوة الأعزاء ..

إحياءً لهذا الموضوع .. نعاود مرة أخرى لأني أريد طرح فكرتي للإستفادة ..

بالنسبة لهذا الموضوع هل المطلوب هو تشفير كلمة المرور أم كان الموضوع من البداية عدم معرفة كلمة المرور

إذا كان المطلوب عدم معرفة كلمة المرور فهي موجودة ومشفرة في الجدول DBA_USERS ولا داعي لكتابة رقم المرور وتخزينها في جدول جديد والاكتفاء بكلمة المرور المسجلة في الجدول السابق مشفرة جاهزة .

#14

السلام عليكم

أريد أن أسال في بفس هذا الموضوع و هو إذا كانت كلمة المرور موجودة ومشفرة في الجدول DBA_USERS ، هل من الممكن ان تعرفها اي تعمل لها إعادة تشفير Decode وترجعها إلى أصلها .

أو يمكن صياغة السؤال كالتالي إذا نسي أحد المستخدمين كلمة السر هل ممكن ل Dba أن يعرفها بدون أستخدام الأمر alter user

#15

مرحبا اعزائى وكل عام و نتم بخير

بالنسبة لموضوع تشفير كلمة المرور اوضح الأتى :

ان اسلوب تشفير المعلومات الهامة مثل كلمة المرور يعتمد على اسلوب احادى الأتجاه بمعنى انك تدخل كلمة السر لاول مرة ثم يتم تشفيرها و تحفظ مشفرة فى النظام ولاتوحد أى وسيله يمكن بها الحصول على كلمة السر الأصلية من كلمة السر المشفرة!!!!!!!

اذن كيف يتم التأكد عند دخول مستخدم الى النظام ؟

ببساطة يتم تشفير كلمة السر التى يحاول المستخدم الدخول بها وتقارن الكلمة المشفرة بالكلمة المشفرة المحزنة فى النظام فان تطابقا يسمح بالدخول !!

ذلك يزيد من أمن النظام و يصعب مهمة المخترقين المساكين الذين لم يعد أمامهم الا تجربة كل كلمات السر الممكنة و الموجودة فى القاموس (لذلك تسمى هذه العملية الأختراق القاموسى)

dictionary Hacking

وكما تعلم فانها ليست وسيلة عمليه بالمرة

اما بالنسبة لاوراكل فلا أعتقد انها أعطت ادوات جاهزة للتشفير باستثناء الدوال الضعيفة

decode , replace , translate

وهى دوال قياسية فى اس كيو ال

هذا الموضوع مغلق.

مواضيع مشابهة