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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

تشفير البيانات !


17 رد (ردود) على هذا الموضوع

#16 mohsein

mohsein

    عضو

  • الأعضــاء
  • 2 مشاركة

تاريخ المشاركة 20 June 2010 - 02:46 PM

السلام عليكم
يوجد إجراء dbms_obfuscation_toolkit.desencrypt
يستخدم للتشفير

ويوجد إجراء dbms_obfuscation_toolkit.desdecrypt
يستخدم لفك التشفير

وهذا مثال يوضح كيفية الاستخدام



DECLARE
input_string VARCHAR2(16) := 'agilani ';
key_string VARCHAR2(8) := 'scottsc ';
encrypted_string VARCHAR2(2048);
decrypted_string VARCHAR2(2048);
begin
dbms_obfuscation_toolkit.DESEncrypt(
input_string => input_string,
key_string => key_string,
encrypted_string => encrypted_string );
dbms_output.put_line('> encrypted hex value : ' ||
rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_string)));
dbms_obfuscation_toolkit.DESDecrypt(
input_string => encrypted_string,
key_string => key_string,
decrypted_string => decrypted_string );
dbms_output.put_line('> decrypted string output : ' ||
decrypted_string);
end;

ملفات مرفقة



#17 mon4love

mon4love

    عضو

  • الأعضــاء
  • 12 مشاركة

تاريخ المشاركة 25 June 2010 - 10:19 AM

في داله للتشفير الملف اسمها warb

#18 Mahmoud Shahryar

Mahmoud Shahryar

    عضو

  • عضوية غير مفعلة
  • 27 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 September 2010 - 10:43 AM

عندي حل للتشفير بطريقه أخرى
create table users_men
(user_name varchar2 (120),
pass varchar2 (20));

declare
x varchar2 (80):=30;
begin
:user_name:=upper(:user_name);
:pass:=upper(:pass); 
for i in 1 .. length (:pass)
loop
if mod (i,2)=1 then
x:=x || chr(ASCII(substr(:PASS,I,1))+100);
else
x:=x || chr(ASCII(substr(:pass,I,1))+105);
end if;
end loop;
:pass:=x;
commit;
end;


ولفك التشفير نعكس الكود كالتالي

declare
x varchar2 (80):=30;

begin
:user_name:=upper(:user_name);
:pass:=upper(:pass); 
for i in 1 .. length (:pass)
loop
if mod (i,2)=1 then
x:=x || chr(ASCII(substr(:PASS,I,1))-100);
else
x:=x || chr(ASCII(substr(:pass,I,1))-105);
end if;
end loop;
:pass:=x;
commit;
end;

تم التعديل بواسطة Mahmoud Shahryar, 17 September 2010 - 10:49 AM.