ความแข็งแกร่งของรหัสผ่าน
ความถูกต้องของรหัสผ่านที่เดา > รหัสผ่านสุ่ม

รหัสผ่านสุ่มจะประกอบด้วยตัวอักษร/สัญลักษณ์เป็นจำนวนหนึ่งโดยได้จากระบวนการเลือกแบบสุ่มที่แต่ละตัวในชุดอักษร/สัญลักษณ์จะมีโอกาสเลือกเท่า ๆ กัน 
อาจจะเป็นอักษรหนึ่ง ๆ จากชุดอักขระเช่นแอสกี หรือเป็นพยางค์ที่ออกแบบเพื่อใช้สร้างรหัสผ่านที่ออกเสียงได้ หรือแม้แต่เป็นคำจากรายการคำ (เป็นการสร้างพาสเฟรซ)
ความแข็งแกร่งของรหัสผ่านสุ่มจะขึ้นอยู่กับเอนโทรปีของตัวสร้าง
แต่ตัวสร้างก็มักทำสุ่มไม่ได้จริง ๆ แต่ทำเป็นเสมือนสุ่ม (pseudorandom)
ตัวสร้างรหัสผ่านที่มีให้ใช้ทั่วไปหลายตัวต่างใช้ตัวสร้างเลขสุ่มในคลังโปรแกรมที่จริง ๆ ก็มีเอนโทรปีจำกัด
แต่ระบบปฏิบัติการปัจจุบันโดยมากก็มีตัวสร้างเลขสุ่มที่ดีทางวิทยาการรหัสลับ ดังนั้นจึงเหมาะสมเพื่อใช้สร้างรหัสผ่าน
อนึ่ง ยังสามารถใช้ลูกเต๋าธรรมดาเพื่อสร้างรหัสผ่านสุ่มอีกด้วย
รหัสผ่านที่สร้างด้วยกระบวนการเลือกสัญญลักษณ์ต่อ ๆ กันโดยสุ่ม มีความยาว L โดยเลือกจากกลุ่มสัญลักษณ์จำนวน N ตัว จะสามารถสร้างรหัสผ่านได้อย่างมาก NL ตัว
ดังนั้นไม่ว่าจะเพิ่มค่า L หรือ N ก็จะทำให้รหัสผ่านที่สร้างแข็งแกร่งยิ่งขึ้น 
ความแข็งแกร่งเมื่อวัดโดยเอนโทรปีข้อมูล ก็คือลอการิทึมฐานสอง (log2) ของจำนวนรหัสผ่านที่เป็นไปได้ โดยสมมุติว่า สัญลักษณ์แต่ละตัวในรหัสผ่านจะเลือกอย่างเป็นอิสระ 
ดังนั้น เอนโทรปีข้อมูล H ก็จะคำนวณได้ด้วยสูตร
H=\log _{2}N^{L}=L\log _{2}N=L{\log N \over \log 2}
H มีหน่วยเป็นบิต
สำหรับนิพจน์ช่องสุดท้าย log จะมีฐานอะไรก็ได้
| ชุดสัญลักษณ์ | จำนวนสัญลักษณ์ ในชุด (N) | เอนโทรปี/ตัว (H) |
| --- | --- | --- |
| ตัวเลขอาหรับ (0-9) (เช่น รหัสพิน) | 10 | 3.322 บิต |
| เลขฐานสิบหก (0-9, A-F) (เช่น กุญแจ WEP) | 16 | 4.000 บิต |
| ชุดตัวอักษรละตินที่ไม่ไวต่ออักษรใหญ่เล็ก (a-z หรือ A-Z) | 26 | 4.700 บิต |
| ชุดตัวอักษรละตินและตัวเลขที่ไม่ไวต่ออักษรใหญ่เล็ก (a-z หรือ A-Z, 0-9) | 36 | 5.170 บิต |
| ชุดตัวอักษรละตินที่ไวต่ออักษรใหญ่เล็ก (a-z, A-Z) | 52 | 5.700 บิต |
| ชุดตัวอักษรละตินและตัวเลขที่ไวต่ออักษรใหญ่เล็ก (a-z, A-Z, 0-9) | 62 | 5.954 บิต |
| ชุดอักขระแอสกีที่แสดงผลยกเว้นอักขระว่าง | 94 | 6.555 บิต |
| ชุดอักขระเพิ่มเติมละติน-1 | 94 | 6.555 บิต |
| ชุดอักขระแอสกีที่แสดงผล | 95 | 6.570 บิต |
| ชุดอักขระแอสกีขยายที่แสดงผล | 218 | 7.768 บิต |
| เลข 8 บิต (0-255 หรือ 1 ไบต์) | 256 | 8.000 บิต |
| รายการคำไดซ์แวร์ | 7,776 | 12.925 บิต/คำ |
ข้อมูล 1 ไบต์มักจะเขียนเป็นเลขฐานสิบหก 2 ตัว
เพื่อจะหาความยาวของรหัสผ่าน L ที่มีความแข็งแกร่ง H โดยเป็นรหัสผ่านสุ่มที่ได้จากชุดอักขระที่มีสัญลักษณ์ N ตัว สามารถใช้สูตรดังนี้คือ
L={\left\lceil {\frac {H}{\log _{2}N}}\right\rceil }
โดย  \left\lceil \ \right\rceil  หมายถึงฟังก์ชันเพดาน คือ
การปัดเศษขึ้นให้เลขเป็นจำนวนเต็ม
ตารางต่อไปนี้ใช้สูตรดังว่าเพื่อแสดงจำนวนสัญลักษณ์ในรหัสผ่านที่สร้างขึ้นโดยสุ่มจริง ๆ เพื่อให้ได้เอนโทรปีตามที่ต้องการ โดยใช้ชุดสัญลักษณ์ที่สามัญ
| รหัสผ่าน มีเอนโทรปี H | ตัวเลขอาหรับ | เลขฐานสิบหก | ไม่ไวต่ออักษรใหญ่เล็ก> ชุดอักษรละติน | ไม่ไวต่ออักษรใหญ่เล็ก> ชุดตัว อักษรละติน และตัวเลข | ไวต่ออักษรใหญ่เล็ก> ชุดอักษร ละติน | ไวต่ออักษรใหญ่เล็ก> ชุดตัว อักษรละติน และตัวเลข | อักขระแอสกี ทั้งหมด> ที่แสดงผล | อักขระ แอสกีขยาย> ที่แสดงผล | รายการคำ ไดซ์แวร์ |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 8 บิต (1 ไบต์) | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 คำ |
| 32 บิต (4 ไบต์) | 10 | 8 | 7 | 7 | 6 | 6 | 5 | 5 | 3 คำ |
| 40 บิต (5 ไบต์) | 13 | 10 | 9 | 8 | 8 | 7 | 7 | 6 | 4 คำ |
| 64 บิต (8 ไบต์) | 20 | 16 | 14 | 13 | 12 | 11 | 10 | 9 | 5 คำ |
| 72 บิต (9 ไบต์) | 23 | 18 | 16 | 14 | 13 | 13 | 11 | 10 | 6 คำ |
| 80 บิต (10 ไบต์) | 25 | 20 | 18 | 16 | 15 | 14 | 13 | 11 | 7 คำ |
| 96 บิต (12 ไบต์) | 29 | 24 | 21 | 19 | 17 | 17 | 15 | 13 | 8 คำ |
| 128 บิต (16 ไบต์) | 39 | 32 | 28 | 25 | 23 | 22 | 20 | 17 | 10 คำ |
| 160 บิต (20 ไบต์) | 49 | 40 | 35 | 31 | 29 | 27 | 25 | 21 | 13 คำ |
| 192 บิต (24 ไบต์) | 58 | 48 | 41 | 38 | 34 | 33 | 30 | 25 | 15 คำ |
| 224 บิต (28 ไบต์) | 68 | 56 | 48 | 44 | 40 | 38 | 35 | 29 | 18 คำ |
| 256 บิต (32 ไบต์) | 78 | 64 | 55 | 50 | 45 | 43 | 39 | 33 | 20 คำ |