
Simple Encryption in PHP.
composer require defuse/php-encryption
هذه مكتبة لتشفير البيانات باستخدام مفتاح أو كلمة مرور في PHP. تتطلب PHP 5.6 أو أحدث وOpenSSL 1.0.1 أو أحدث. نوصي باستخدام إصدار من PHP لا يزال يحظى بالدعم الأمني، وهو ما يعني في وقت كتابة هذا النص PHP 8.0 أو أحدث. قد يؤدي استخدام هذه المكتبة مع إصدار غير مدعوم من PHP إلى ثغرات أمنية.
الإصدار الحالي من php-encryption هو v2.4.0. من المتوقع أن تظل هذه المكتبة مستقرة ومدعومة من قبل مؤلفيها بالتحديثات الأمنية وإصلاحات الأخطاء حتى 1 يناير 2024 على الأقل.
المكتبة هي جهد مشترك بين Taylor Hornby و Scott Arciszewski بالإضافة إلى العديد من المساهمين مفتوحي المصدر.
ما يميز هذه المكتبة عن غيرها من مكتبات تشفير PHP هو، أولاً، أنها آمنة. اعتاد المؤلفون على مواجهة أكواد تشفير PHP غير آمنة بشكل يومي، لذلك أنشأوا هذه المكتبة لجلب المزيد من الأمان إلى النظام البيئي. ثانياً، هذه المكتبة "صعبة الإساءة الاستخدام". مثل libsodium، صُممت واجهتها البرمجية بحيث تكون سهلة الاستخدام بطريقة آمنة وصعبة الاستخدام بطريقة غير آمنة.
لا تتطلب هذه المكتبة أي تبعيات خاصة باستثناء PHP 5.6 أو أحدث مع تفعيل إضافات OpenSSL (الإصدار 1.0.1 أو أحدث) (وهذا هو الوضع الافتراضي). تستخدم random_compat، وهو مضمّن مع هذه المكتبة بحيث لا يحتاج المستخدمون إلى اتباع أي خطوات تثبيت خاصة.
ابدأ بـ البرنامج التعليمي. يمكنك العثور على إرشادات للحصول على كود هذه المكتبة بشكل آمن في وثائق التثبيت والتحقق.
بعد قراءة البرنامج التعليمي والحصول على الكود، راجع الوثائق الرسمية لكل فئة من الفئات التي توفرها هذه المكتبة:
إذا واجهت صعوبات، راجع إجابات الأسئلة الشائعة. يتم شرح إصلاحات المشكلات الأكثر شيوعًا هناك.
إذا كنت خبير تشفير وتريد فهم التفاصيل الدقيقة لكيفية عمل هذه المكتبة، فاطلع على وثائق تفاصيل التشفير.
إذا كنت مهتمًا بالمساهمة في هذه المكتبة، فاطلع على وثائق المطور الداخلي.
هذه المكتبة مخصصة لبرامج PHP من جانب الخادم التي تحتاج إلى تشفير البيانات المخزنة. إذا كنت تبني برنامجًا يحتاج إلى تشفير من جانب العميل، أو تبني نظامًا يتطلب دعم التشفير/فك التشفير عبر المنصات، فنحن نوصي بشدة باستخدام libsodium بدلاً من ذلك.
إذا لم تكن الوثائق كافية لفهم كيفية استخدام هذه المكتبة، فيمكنك الاطلاع على مشروع مثال يستخدم هذه المكتبة:
لم يخضع هذا الكود لتدقيق أمني رسمي مدفوع. ومع ذلك، فقد حصل على الكثير من المراجعات من أعضاء مجتمع أمان PHP، والمؤلفون لديهم خبرة في التشفير. في جميع الاحتمالات، أنت أكثر أمانًا باستخدام هذه المكتبة مقارنة بأي مكتبة تشفير أخرى لـ PHP.
إذا كنت تستخدم هذه المكتبة كجزء من عملك وترغب في المساعدة في تمويل تدقيق رسمي، فيرجى الاتصال بـ Taylor Hornby.
المفتاح العام GnuPG المستخدم لتوقيع الإصدارات الحالية والجديدة متاح في dist/signingkey-new.asc. بصمة المفتاح هي:
6DD6 E677 0281 5846 FC85 25A3 DD2E 507F 7BDB 1669
يمكنك التحقق منه عبر صفحة الاتصال الخاصة بـ Taylor Hornby و تويتر.
تم توقيع الإصدارات الأقدم بمفتاح (منتهي الصلاحية الآن) متاح في dist/signingkey-old.asc. بصمة المفتاح القديم هي:
2FA6 1D8D 99B9 2658 6BAC 3D53 385E E055 A129 1538
يمكن التحقق من بصمة المفتاح القديم عبر صفحة الاتصال الخاصة بـ Taylor Hornby و تويتر.
توقيع هذا المفتاح الجديد بواسطة المفتاح القديم متاح في dist/signingkey-new.asc.sig.