wxSQLite3

wxSQLite3 عبارة عن غلاف C++ حول قاعدة بيانات SQLite 3.x العامة، وهو مصمم خصيصًا للاستخدام في البرامج المستندة إلى مكتبة wxWidgets .

لا يحاول wxSQLite3 إخفاء قاعدة البيانات الأساسية، بل على العكس، يدعم جميع الميزات الخاصة تقريبًا لإصدار SQLite الحالي 3.47.2، مثل إنشاء دوال عددية أو تجميعية معرفة من قبل المستخدم. ولأن SQLite يخزن السلاسل النصية بترميز UTF-8، توفر دوال wxSQLite3 تحويلًا تلقائيًا بين wxStrings وسلاسل UTF-8. يعمل هذا بشكل أفضل مع إصدارات Unicode من wxWidgets. أما في إصدارات ANSI، فيُستخدم كائن تحويل اللغة الحالي (wxConvCurrent) للتحويل من وإلى UTF-8. يجب توخي الحذر عند استخدام أدوات إدارة خارجية لتعديل محتويات قاعدة البيانات، لأن بعض هذه الأدوات لا تعمل في وضع Unicode أو UTF-8.

منذ الإصدار 1.7.0، أصبح دعم تشفير قواعد البيانات باستخدام المفاتيح (AES 128 بت) اختياريًا. بدءًا من الإصدار 1.9.6 من wxSQLite3، أصبح ملحق التشفير متوافقًا مع مصدر دمج SQLite ويتضمن وحدة وظائف الملحق. أُضيف دعم تشفير AES 256 بت في الإصدار 1.9.8.

منذ الإصدار 3.5.0، أصبحت مكتبة SQLite جزءًا لا يتجزأ من wxSQLite3.

يدعم wxSQLite3 منذ الإصدار 4.0.0 إمكانية اختيار نظام التشفير أثناء التشغيل. حاليًا، يمكن اختيار 7 أنظمة تشفير مختلفة:

  • wxSQLite3 AES-128 بت
  • wxSQLite3 AES-256 بت
  • sqleet ( المعروف أيضًا باسم ChaCha20 - Poly1305)
  • SQLCipher (المعروف أيضًا باسم AES-256 بت - SHA-1/SHA256/SHA512 - جميع متغيرات SQLCipher من الإصدار 1 حتى الإصدار 4 مدعومة)
  • System.Data.SQLite (المعروف أيضًا باسم RC4)
  • Ascon Ascon-128 v1.2 (تشفير خفيف الوزن)
  • إيجيس (منذ الإصدار 4.10.0)

منذ الإصدار 4.6.0، يستخدم wxSQLite3 تطبيقًا منفصلاً لامتداد التشفير، وهو SQLite3 Multiple Ciphers ، وذلك لأن واجهة SQLITE_HAS_CODEC المستخدمة سابقًا قد تمت إزالتها من SQLite في فبراير 2020.

انظر أيضاً

مراجع

  1. "wxSQLite3 على جيت هاب" . github.com . تم الاطلاع عليه بتاريخ 2026-01-09 .