
لا تتردد في التحقق من الإصدار المباشر على https://diceware.dmuth.org/
تعد كلمات المرور الضعيفة عيبًا كبيرًا في أمان الكمبيوتر بسبب نقص "الانتروبيا" أو العشوائية. على سبيل المثال ، كم مرة استخدمت اسم حيوان أليف أو قريب أو شارع في كلمة مرور ، أو ربما الرقم "1". ليس عشوائيا جدا ، أليس كذلك؟ :-) أسوأ من ذلك ، إذا تم إعادة استخدام كلمات المرور بين الخدمات ، فإن ذلك يزيد من خطر الأمان.
الحقيقة هي أن البشر فظيعون في تذكر مجموعة عشوائية من الحروف والأرقام ، لكننا رائعون في تذكر عبارات الكلمات. هذا هو المكان الذي يأتي فيه Diceware.
يعتمد Diceware على الاقتراح على http://world.std.com/~reinhold/diceware.html حيث يتم تحريك الزهر الافتراضي 5 مرات ، والرقم المكون من 5 أرقام المستخدم في جدول البحث عن الكلمات. يمنحك 4 لفات الزهر 4 كلمات عشوائية يسهل على الإنسان أن يتذكرها ، ولكن لديها كمية كبيرة من الانتروبيا مما يجعلها من الصعب كسرها.
لمزيد من المعلومات حول Diceware:
نعم! انتقل إلى https://github.com/dmuth/diceware/releases وقم بتنزيل أحدث ملف diceware.zip . عندما تقوم بفك ضغط هذا الملف ، سيتم كتابة المحتويات إلى دليل يسمى diceware/ . يمكنك بعد ذلك توجيه خادم ويب على جهازك إلى diceware/index.html من أجل استخدام Diceware.
للأسف ، لا يمكنك فتح diceware/index.html مباشرة ، لأن سياسة CORS في Chrome تمنع ذلك. إذا كنت تعرف طريقة لإصلاح ذلك ، فيرجى فتح مشكلة. :-)
نعم! يجب أن تعمل على أي هاتف محمول أو جهاز لوحي يدعم JavaScript ، لكنني اختبرته فقط على iPhone 5S في هذا الوقت.
نعم ، تم إجراء نسخ من الأصول مثل Bootstrap و jQuery ، ويمكن الآن تشغيل Diceware دون الحاجة إلى اتصال بالإنترنت.
تم تصميم هذا التطبيق باستخدام WebPack.
عند الانتهاء من تحرير main.js ، يمكن بناء الملف المعبأ عن طريق تشغيل webpack على سطر الأوامر. سوف تكتب إلى dist/bundle.js . لتشغيل WebPack في وضع ما ، يتحقق بانتظام من الملفات التي تم تغييرها ، قم بتشغيل webpack --watch --mode development .
في خطوة تغادر من أفضل الممارسات ، اتخذت قرارًا بتضمين الملف المعبأ في GIT. السبب في ذلك هو أن البرنامج سيكون جاهزًا للتشغيل بمجرد فحصه (أو يتم تنزيل الرمز البريدي) ، وهذه ميزة تصميم رئيسية لهذا التطبيق-أريد أن يكون من السهل الاستيلاء عليها وتشغيلها قدر الإمكان.
يمكن إعداد خادم ويب محلي عن طريق تشغيل npm install http-server -g لتثبيته ، ثم http-server للاستماع على http: // localhost: 8080/
npm run clean - Cleanup بعد تشغيل سابقnpm install - قم بتثبيت حزم NPM المستخدمة بواسطة Dicewarenpm run dev-build - قم بتشغيل WebPack لتعبئة ملفات JavaScript ومشاهدة التغييرات.http-servervim src/lib.js src/index.jsrm -fv src/index.js && git co src/index.js - احصل على تجزئة SHA1 الجديدة التي سيتم عرضها في رسائل التصحيح.git hash-object src/index.jsnpm test - تأكد من عدم كسر أي من المنطق الأساسي!npx cypress run - قم بتشغيل اختبار الواجهة الأماميةnpx cypress open لتشغيل الاختبارات بشكل تفاعلي.npm run build - WebPack Javscript في وضع الإنتاج (ملف أصغر ولكن يستغرق وقتًا أطول)./go-sync-to-s3.sh افعل هذا إذا كنت أنا ، للتحميل إلى S3. إذا لم تكن أنا ، فستحتاج إلى القيام بشيء آخر ، أو ربما لا شيء على الإطلاق. npm run clean; npm run dev-build - قم بتشغيل WebPack في وضع Dev أثناء العمل على JavaScripthttp-server - قف خادم HTTP محليvim src/lib.js src/index.jsrm -fv src/index.js && git co src/index.jsnpm run clean; npm run build - قم بتشغيل WebPack في وضع Prod لإنتاج حزمة JavaScript النهائية./go-sync-to-s3.sh افعل هذا إذا كنت أنا ، للتحميل إلى S3. إذا لم تكن أنا ، فستحتاج إلى القيام بشيء آخر ، أو ربما لا شيء على الإطلاق.npm run release-build لإنشاء ملف zip diceware.zip مع جميع الأصول فيه ، بما في ذلك bundle.js ومحتويات node_modules/ .gh release create v1.0.1 لتحميل إصدار إلى https://github.com/dmuth/diceware/release.gh release upload v1.0.1 diceware.zip لتحميل ملف zip الذي يحتوي على كل شيء هل تريد التطور في Docker؟ لقد قمت بتغطيتك. فيما يلي بعض البرامج النصية المساعد:
bin/docker-build.sh - بناء Docker Copntainerbin/docker-dev.sh تشغيل في وضع dev-الاستعداد على http: // localhost: 8000/bin/docker-prod.sh تشغيل في وضع prod-الاستعداد على http: // localhost: 80/bin/docker-push.sh - اضغط إلى Docker Hubاسمي دوغلاس موث ، وأنا مهندس برمجيات في فيلادلفيا ، بنسلفانيا.
هناك عدة طرق للاتصال بي:
لا تتردد في التواصل معي إذا كان لديك أي تعليقات أو اقتراحات أو تقارير الأخطاء.