MindVault هو تطبيق سطح مكتب آمن لإدارة كلمات المرور، يعمل بشكل كامل دون الحاجة للاتصال بالإنترنت.
يقوم التطبيق بتشفير بيانات تسجيل الدخول (أسماء المستخدمين وكلمات المرور) باستخدام تشفير مصادَق عليه و قوي (AES-GCM)، حيث يتم اشتقاق مفتاح التشفير من "كلمة مرور رئيسية" يحددها المستخدم، و ذلك باستخدام خوارزمية PBKDF2 مع عدد تكرارات مرتفع و قيمة عشوائية (Salt) عشوائي، مما يوفر حماية ممتازة للبيانات المخزنة.
التطبيق يدعم الوضع العادي و الوضع الليلي يهدف لتحسين تجربة المستخدم عبر توفير الراحة البصرية في ظروف الإضاءة المختلفة، و تلبية التفضيلات الشخصية، و تقليل إجهاد العين.
مميزات البرنامج
- تشفير قوي: AES-GCM مع مفتاح 256-بت مشتق باستخدام PBKDF2.
- يعمل دون اتصال: لا يتطلب اتصالاً بالإنترنت، بياناتك تبقى على جهازك.
- كلمة مرور رئيسية واحدة: حماية كل بياناتك بكلمة مرور واحدة.
- إدارة الحسابات: إضافة / تعديل / حذف بيانات اعتماد تسجيل الدخول.
- نسخ آمن: نسخ كلمة المرور إلى الحافظة بسهولة.
- بحث و تصفية: العثور بسرعة على الحسابات المطلوبة.
- دعم السمات (Themes): مظهر فاتح (نهاري) ومظهر داكن (ليلي) قابل للاختيار.
- دعم متعدد اللغات: يدعم اللغتين العربية و الإنجليزية مع إمكانية إضافة لغات أخرى.
- قفل الخزنة: قفل الوصول للتطبيق بسرعة دون الخروج منه.
- تخصيص الخط: إمكانية تغيير نوع و حجم الخط لواجهة التطبيق.
التقنيات المستخدمة
- لغة بايثون - الإصدار 3.6 أو أي إصدار أحدث.
- مكتبة PyQt5 - لإنشاء الواجهة الرسومية للبرنامج.
- مكتبة cryptography - لتشفير كلمات المرور التي يدخلها المستخدم.
- مكتبة pyotp - لتطبيق المصادقة الثنائية (2FA) من خلال توليد و التحقق من كلمات المرور لمرة واحدة (OTPs).
- مكتبة qrcode - لإنشاء رموز QR Code. تتولى جميع التفاصيل المعقدة لترميز البيانات و تحويلها إلى نمط مرئي يمكن مسحه ضوئياً.
متطلبات البرنامج
تشغيل المشروع يتطلب وجود لغة بايثون الإصدار 3.6 أو أي إصدار أحدث. كما يجب تثبيت المكتبات التي ذكرناها و التي يمكن تحميلها دفعة واحدة باستعمال مدير الحزم pip من خلال تنفيذ الأمر التالي.
pip install PyQt5 cryptography pyotp qrcode
تشغيل البرنامج
يمكن تشغيل البرنامج بواسطة موجه الأوامر من خلال التوجه لمجلد المشروع و تشغيل الملف main.py
من خلال كتابة الأمر التالي.
python main.py