• 0

كيف نقوم بتشفير النص وكلمات المرور والكوكيز في php

أتمنى ان تكون الاحابه مدعمه بأمثله تجريبية 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكن إجراء التشفير وفك التشفير في PHP باستخدام الإضافة Cryptography من خلال توابع OpenSSL. حيث يمكنك تشفير سلسلة نصية من خلال التابع التالي:

string openssl_encrypt( string $data, string $method, string $key,
                        $options = 0, string $iv, string $tag= NULL,
                        string $aad, int $tag_length = 16  )

والمتغيّرات الأساسية للدالة هي:
data: السلسلة النصية التي نرغب بتشفيرها
method: طريقة التشفير
key: مفتاح التشفير

وبعدها يمكنك تخزينها في متغيّر ثم ضمن قاعدة البيانات أو معالجتها بالطريقة التي ترغب بها.

ويتم فك التشفير أيضاً من خلال:

string openssl_decrypt( string $data, string $method, string $key,
             int $options = 0, string $iv, string $tag, string $aad)

مثال عن تشفير سلسلة نصية:

$simple_string = "Welcome to GeeksforGeeks\n";
  
//طباعة السلسلة النصية الأصلية
echo "Original String: " . $simple_string;
  
// طريقة التشفير
$ciphering = "AES-128-CTR";
  
$iv_length = openssl_cipher_iv_length($ciphering);
$options = 0;
  
// المتجه الأولي للتشفير 
$encryption_iv = '1234567891011121';
  
// مفتاح التشفير
$encryption_key = "secretkey";
  

$encryption = openssl_encrypt($simple_string, $ciphering,
            $encryption_key, $options, $encryption_iv);
  
// طباعة السلسلة المشفّرة
echo "Encrypted String: " . $encryption . "\n";


//أما فك التشفير فيتم بطريقة مماثلة مع استخدام التابع التالي
$decryption=openssl_decrypt ($encryption, $ciphering, 
        $decryption_key, $options, $decryption_iv);

كما يوجد أيضاً طرق أخرى عديدة للتشفير ومنها مايعرف بـ Hash والذي يستخدم لتشفير كلمات المرور، مثال:

$password = 'password12345';
$random = openssl_random_pseudo_bytes(18);

$salt = sprintf('$2y$%02d$%s',13,substr(strtr(base64_encode($random), '+', '.'), 0, 22)
);

$hash = crypt($password, $salt);

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك استخدام  دالة md5 لتشفير كلمات المرور مثل 

$password = "123";
echo md5($password);

ايضا يمكنك استخدام الدالة md5 في تشفير النصوص بهذا الشكل 

$string = "Hello" ;
echo md5($string);

ايضا يمكنك استخدام base64_encode في تشفير النصوص بهذا الشكل 

$string = "Hello" ;
echo base64_encode($string);

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 9 دقائق مضت قال Sam Ahw:

يمكن إجراء التشفير وفك التشفير في PHP باستخدام الإضافة Cryptography من خلال توابع OpenSSL. حيث يمكنك تشفير سلسلة نصية من خلال التابع التالي:

لم افهم الاكواد التي ارسلتها هل هي php

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 8 دقائق مضت قال علي الكاسر:

لم افهم الاكواد التي ارسلتها هل هي php

نعم إنها بلغة PHP، في حال لم يكن لديك معرفة مسبقة في لغة PHP يجب عليك الاطلاع أولاً على أساسيات اللغة لتستطيع استخدام التوابع والإضافات بالشكل الصحيح.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 27 دقائق مضت قال Sam Ahw:

نعم إنها بلغة PHP، في حال لم يكن لديك معرفة مسبقة في لغة PHP يجب عليك الاطلاع أولاً على أساسيات اللغة لتستطيع استخدام التوابع والإضافات بالشكل الصحيح

ولكن لم أرى اي دوال في هذا الكود 

بتاريخ منذ ساعة مضت قال Sam Ahw:

فك التشفير فيتم بطريقة مماثلة مع استخدام التابع التالي $decryption=openssl_decrypt ($encryption, $ciphering, $decryption_key, $options, $decryption_iv);

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

ممكن شرح مفصل فقط عن كيفية فك التشفير وخاصه تشفير الكوكيز 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن