UTILS.
ทำงานในเบราว์เซอร์ 100%
📉

เครื่องคำนวณเอนโทรปีแชนนอน

วัดเอนโทรปีแชนนอนของข้อความเป็นบิตต่ออักขระและบิตรวม พร้อมจำนวนสัญลักษณ์ที่แตกต่างและการประเมินความแข็งแรงของรหัสผ่านแบบ charset-pool

เกี่ยวกับเครื่องมือนี้

เครื่องคำนวณเอนโทรปีแชนนอนจะวัดปริมาณข้อมูลของข้อความ โดยสร้างแผนที่ความถี่ของอักขระที่คุณป้อนเข้ามาแบบเป๊ะ ๆ คำนวณความน่าจะเป็นของแต่ละสัญลักษณ์ p = count / length แล้วประเมินสูตรแชนนอน H = −Σ p·log2(p) เป็นบิตต่ออักขระ การคูณด้วยความยาวจะได้ปริมาณข้อมูลรวมเป็นบิต และยังรายงานจำนวนสัญลักษณ์ที่แตกต่างและเอนโทรปีสูงสุดเชิงทฤษฎี log2(distinct) ซึ่งเอนโทรปีจริงจะเข้าใกล้ก็ต่อเมื่อทุกสัญลักษณ์มีโอกาสเท่ากัน

เอนโทรปีจริง (ที่สังเกตได้) นี้แตกต่างจากการประเมินความแข็งแรงของรหัสผ่าน เครื่องมือจึงคำนวณทั้งสองอย่าง สำหรับด้านความแข็งแรงจะใช้แบบจำลอง charset-pool โดยตรวจหาว่ามีคลาสอักขระใดปรากฏบ้าง ได้แก่ ตัวพิมพ์เล็ก (26) ตัวพิมพ์ใหญ่ (26) ตัวเลข (10) สัญลักษณ์ทั่วไป (32) เว้นวรรค (1) และอื่น ๆ (100) รวมขนาด pool เป็น P แล้วรายงาน pool entropy = length · log2(P) บิต ป้ายกำกับเชิงคุณภาพจะเป็นไปตามแถบมาตรฐาน ได้แก่ ต่ำกว่า 28 บิตคืออ่อนแอมาก 28–35 อ่อนแอ 36–59 พอใช้ 60–127 แข็งแรง และ 128 ขึ้นไปแข็งแรงมาก

ลอการิทึมทั้งหมดใช้ log2(x) = Math.log(x) / Math.LN2 และการคำนวณทุกอย่างทำงานในเบราว์เซอร์ของคุณ ไม่มีการเก็บหรือส่งสิ่งที่คุณพิมพ์ โปรดทราบว่าตัวเลขสองค่านี้ตอบคำถามคนละคำถาม เอนโทรปีที่สังเกตได้บอกว่าสตริงเฉพาะนี้คาดเดายากเพียงใดเมื่อพิจารณาการกระจายอักขระของตัวมันเอง ขณะที่ pool entropy ประเมินว่าสตริงนี้จะเดาสุ่ม (brute-force) ได้ยากเพียงใดโดยสมมติว่าแต่ละตำแหน่งถูกสุ่มแบบสม่ำเสมอจาก pool อักขระที่ตรวจพบ

คำถามที่พบบ่อย

ตัวเลขเอนโทรปีสองค่าต่างกันอย่างไร?
บิตต่ออักขระคือเอนโทรปีแชนนอนที่สังเกตได้จากข้อความของคุณแบบเป๊ะ ๆ ว่าอักขระถัดไปคาดเดายากเพียงใดเมื่อพิจารณาความถี่สัญลักษณ์ของสตริงเอง ส่วนบิต pool คือการประเมินความแข็งแรงแบบ brute-force: length × log2(ขนาด pool) โดยสมมติว่าแต่ละตำแหน่งถูกสุ่มแบบสม่ำเสมอจากคลาสอักขระที่ตรวจพบ
ขนาด pool อักขระถูกกำหนดอย่างไร?
เครื่องมือตรวจหาว่ามีคลาสใดปรากฏและรวมขนาดของแต่ละคลาส ได้แก่ ตัวพิมพ์เล็ก 26 ตัวพิมพ์ใหญ่ 26 ตัวเลข 10 สัญลักษณ์ ASCII ทั่วไป 32 เว้นวรรค 1 และอักขระอื่นใด 100 รหัสผ่านอย่าง ‘aB3’ ใช้ตัวพิมพ์เล็ก + ตัวพิมพ์ใหญ่ + ตัวเลข ได้ pool เท่ากับ 62
ป้ายกำกับความแข็งแรงหมายถึงอะไร?
มาจากจำนวนบิตแบบ pool ได้แก่ ต่ำกว่า 28 บิตอ่อนแอมาก 28–35 อ่อนแอ 36–59 พอใช้ 60–127 แข็งแรง และ 128 ขึ้นไปแข็งแรงมาก ค่าเหล่านี้เป็นเกณฑ์คร่าว ๆ ทั่วไปสำหรับความต้านทาน brute-force ไม่ใช่การรับประกันต่อการโจมตีแบบพจนานุกรม
อินพุตของฉันถูกเก็บหรือส่งไปที่ใดหรือไม่?
ไม่ แผนที่ความถี่ เอนโทรปี และการประเมิน pool ล้วนคำนวณในเบราว์เซอร์ของคุณด้วย JavaScript ล้วน ๆ ไม่มีการบันทึกหรือส่งสิ่งที่คุณพิมพ์ คุณจึงทดสอบรหัสผ่านจริงหรือข้อความอ่อนไหวได้อย่างปลอดภัย

เครื่องมือเพิ่มเติม