اذهب إلى المحتوى
  • 0

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

علي الكاسر

السؤال

Recommended Posts

  • 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);

 

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

  • 0

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

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

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

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

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

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

 

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

  • 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);

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

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

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

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

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

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...