
อย่าลังเลที่จะตรวจสอบเวอร์ชันสดที่ 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 ในโครเมี่ยมป้องกันไม่ให้ หากคุณรู้วิธีแก้ไขปัญหาโปรดเปิดปัญหา -
ใช่! มันควรทำงานบนโทรศัพท์มือถือหรือแท็บเล็ตใด ๆ ที่รองรับ 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 - การทำความสะอาดหลังการวิ่งก่อนหน้านี้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 - Run 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/releasesgh 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ชื่อของฉันคือ Douglas Muth และฉันเป็นวิศวกรซอฟต์แวร์ใน Philadelphia, PA
มีหลายวิธีในการติดต่อกับฉัน:
อย่าลังเลที่จะติดต่อฉันหากคุณมีความคิดเห็นคำแนะนำหรือรายงานข้อผิดพลาด