การเจาะรหัสผ่าน

ในเรื่องการวิเคราะห์รหัสลับและความมั่นคงคอมพิวเตอร์ การเจาะรหัสผ่าน 
เป็นกระบวนการกู้เอารหัสผ่าน
จากข้อมูลหรือการสื่อสารที่เข้ารหัสลับไว้และอ่านเนื้อความไม่ได้
วิธีการสามัญอย่างหนึ่งก็คือการโจมตีด้วยกำลัง เป็นการเดารหัสผ่านไปเรื่อย#เปลี่ยนทาง ๆ แล้วเช็คกับ#เปลี่ยนทาง ของรหัสผ่านที่ต้องการเจาะ
อีกวิธีหนึ่งก็คือการโจมตีโดยพ่นรหัสผ่าน เป็นการใช้รายการรหัสผ่านที่สามัญแล้วค่อย#เปลี่ยนทาง ๆ ลองรหัสผ่านแต่ละรหัสกับบัญชีหลาย#เปลี่ยนทาง ๆ บัญชีโดยทำช้า#เปลี่ยนทาง ๆ เพื่อไม่ให้ถูกตรวจจับได้
จุดประสงค์อาจเป็นเพื่อช่วยกู้รหัสผ่านที่ผู้ใช้ลืม (เพราะการตั้งรหัสผ่านใหม่เลยอาจอาจต้องมีสิทธิ์แอดมิน) หรือเพื่อแฮ็กเข้าระบบ หรือเป็นมาตรการป้องกันความปลอดภัยโดยที่แอดมินพยายามตรวจหารหัสผ่านที่เจาะได้ง่าย 
อนึ่ง เพื่อใช้เก็บหลักฐานดิจิทัล ตุลาการอาจอนุญาตให้เจาะไฟล์แต่ละไฟล์ที่ผู้ใช้ได้จำกัดการเข้าถึง
เวลาในการเจาะ.
เวลาที่ใช้เจาะจะขึ้นอยู่กับความแข็งแกร่งของรหัสผ่านคือเอนโทรปีที่วัดเป็นบิตและวิธีการเก็บรหัสผ่าน
วิธีการเจาะโดยมากจะต้องสร้างรหัสผ่านเป็นจำนวนมากแล้วต้องเช็คว่าถูกต้องหรือไม่
ตัวอย่างหนึ่งก็คือการโจมตีด้วยกำลังซึ่งตัวเจาะจะต้องทดลองรหัสผ่านที่เป็นไปได้ทุกรหัสจนกว่าจะเจอ 
ถ้าใช้หน่วยประมวลผลกลาง (ซีพียู) หลายตัว ก็อาจจะสืบหาเริ่มตั้งแต่กลุ่มสัญลักษณ์แรกสุดและกลุ่มสัญลักษณ์ท้ายสุดไปพร้อม#เปลี่ยนทาง ๆ กัน โดยใช้#เปลี่ยนทาง อื่น#เปลี่ยนทาง ๆ เพื่อทดลองรหัสผ่านที่คัดเลือกมาเป็นกลุ่มโดยเฉพาะ#เปลี่ยนทาง ๆ
วิธีเจาะที่สามัญกว่าอื่น#เปลี่ยนทาง ๆ เช่นการโจมตีด้วยคำจากพจนานุกรม การตรวจสอบรหัสผ่านที่สร้างโดยมีรูปแบบ และการทดแทนอักษรในรหัสผ่าน 
จะสามารถลดจำนวนรหัสผ่านที่ต้องทดลองโดยจะทำก่อนเริ่มโจมตีโดยใช้กำลัง 
รหัสผ่านที่มีบิตความแข็งแกร่งสูงจะเพิ่มจำนวนที่ต้องสืบหาอย่างชี้กำลัง และจะลดโอกาสที่รหัสผ่านนั้นจะปรากฏในพจนานุกรมเจาะรหัสผ่านด้วย
การเจาะได้ยังขึ้นอยู่กับจำนวนรหัสผ่านต่อวินาทีที่สามารถตรวจสอบได้ 
ถ้าผู้โจมตีมีค่าแฮชของรหัสผ่าน ก็อาจสามารถทดสอบได้เป็น#เปลี่ยนทาง หรือ#เปลี่ยนทาง เพราะเป็นการโจมตีแบบออฟไลน์ที่ไม่มีการชะลอจำนวนการทดลอง
ถ้าไม่ได้เช่นนี้ ก็อาจจะขึ้นอยู่กับการจำกัดอัตราการทดลองของซอฟต์แวร์พิสูจน์ตัวจริง ซึ่งอาจมีเทคนิคให้พักนอกเวลา, แคปต์ชา หรือเลิกให้ใช้ หลังจากที่ได้ลองผิด#เปลี่ยนทาง ๆ หลายครั้ง
สถานการณ์อีกอย่างที่สามารถทดสอบได้อย่างรวดเร็วก็คือเมื่อใช้รหัสผ่านสร้างกุญแจเข้ารหัสลับ 
เพราะเช็คได้อย่างรวดเร็วว่ารหัสผ่านที่เดานั้นถอดรหัสข้อมูลที่เข้ารหัสลับไว้ได้หรือไม่ 
สำหรับแฮชรหัสผ่านบางอย่าง โปรแกรมที่ทำงานโดยใช้หน่วยประมวลผลกลางทั่วไปของคอมพิวเตอร์ตั้งโต๊ะธรรมดาสามารถตรวจสอบรหัสผ่านเป็น#เปลี่ยนทาง 
แต่โปรแกรมที่ทำงานโดยใช้หน่วยประมวลผลกราฟิกส์อาจตรวจสอบรหัสผ่านได้ถึงเป็น#เปลี่ยนทาง <templatestyles src="Crossreference/styles.css" />
อัตราการเดาจะขึ้นอยู่กับฟังก์ชันรหัสลับที่ระบบใช้เพื่อสร้างค่าแฮชรหัสผ่าน 
ฟังก์ชันที่เหมาะสม เช่น bcrypt จะดีกว่าฟังก์ชันธรรมดา#เปลี่ยนทาง ๆ เช่น MD5 หรือ SHA เป็นหลายเท่า
เช่น รหัสผ่านที่ผู้ใช้เลือก ยาว 8#เปลี่ยนทาง ตัวอักษร มีตัวเลข ตัวเล็กตัวใหญ่และสัญลักษณ์ มีการ#เปลี่ยนทาง ไม่ให้ใช้รหัสผ่านที่เลือกใช้กันอย่างสามัญหรือที่มีอยู่ในพจนานุกรม อาจมีความแข็งแกร่งถึง 30#เปลี่ยนทาง บิตตามสถาบันมาตรฐานและเทคโนโลยีแห่งชาติสหรัฐ (NIST) ซึ่งจริง#เปลี่ยนทาง ๆ ชี้ว่าซับซ้อนพอให้สร้างรหัสผ่านเป็นพันล้าน (230) รหัสเท่านั้น
รหัสผ่านเช่นนี้สามารถเจาะได้ภายในวินาที#เปลี่ยนทาง ๆ ถ้าใช้#เปลี่ยนทาง ธรรมดา 
และเมื่อใช้คอมพิวเตอร์ตั้งโต๊ะธรรมดาจำนวนมากให้ทำงานร่วมกัน ซึ่งสามารถทำได้ด้วย botnet ก็จะสามารถเจาะได้เร็วกว่ามาก 
ในปี#เปลี่ยนทาง 2002 distributed.net สามารถเจาะกุญแจ RC5 ขนาด 64#เปลี่ยนทาง บิตได้ภายใน 4#เปลี่ยนทาง ปี โดยใช้คอมพิวเตอร์ร่วมกัน #เปลี่ยนทาง โดยทำงานไม่พร้อมกัน ซึ่งสามารถทดสอบกุญแจได้ถึง #เปลี่ยนทาง 
หน่วยประมวลผลกราฟิกส์ (จีพียู) สามารถเจาะรหัสผ่านได้เร็วเพิ่มขึ้นเป็น #เปลี่ยนทาง ตัวเทียบกับคอมพิวเตอร์ทั่วไปเมื่อใช้เจาะค่าแฮช#เปลี่ยนทาง 
ยกตัวอยา่งเช่นในปี#เปลี่ยนทาง 2011 มีผลิตภัณฑ์ที่อ้างว่าสามารถตรวจสอบรหัสผ่านของ NTLM ได้ถึง #เปลี่ยนทาง โดยใช้เครื่องคอมพิวเตอร์ธรรมดาที่มีหน่วยประมวลผลกราฟิกส์ชั้นสูง
อุปกรณ์ดังว่าสามารถเจาะรหัสผ่านที่มีอักษรตัวเล็กอย่างเดียวหรือตัวใหญ่อย่างเดียวยาว 10#เปลี่ยนทาง ตัวอักษรภายในวันเดียว 
เมื่อแจกกระจายให้ทำด้วยคอมพิวเตอร์เป็นจำนวนมาก ก็จะเพิ่มอัตราการทดลองตามจำนวนคอมพิวเตอร์ที่มีหน่วยประมวลผลกราฟิกส์ชั้นเดียวกัน 
แต่ก็มี#เปลี่ยนทาง ที่คำนวณได้ช้าหรือแม้แต่ออกแบบโดยเฉพาะ#เปลี่ยนทาง ๆ ให้คำนวณได้ช้าเมื่อใช้จีพียู 
เช่น DES, Triple DES, bcrypt, scrypt และ Argon2
จีพียูได้พัฒนาให้ไวขึ้นอย่างรวดเร็ว จึงเพิ่มประสิทธิภาพการเจาะโดยใช้กำลังได้อย่างมาก
ในปี#เปลี่ยนทาง 2012 มีคลัสเตอร์จีพียู 25#เปลี่ยนทาง ตัวที่สามารถเดารหัสผ่าน NTLM ได้ #เปลี่ยนทาง จึงทำให้ตรวจสอบรหัสผ่านได้ <math display="inline">95^8</math> รหัสผ่านภายใน #เปลี่ยนทาง ซึ่งพอเพียงเพื่อเจาะรหัสผ่านยาว 8#เปลี่ยนทาง ตัวมีอักษรตัวเล็กตัวใหญ่ ตัวเลข และสัญลักษณ์ เป็นรูปแบบรหัสผ่านที่ใช้กันอย่างสามัญในบริษัทใหญ่#เปลี่ยนทาง ๆ 
ระบบใช้โปรแกรม ocl-Hashcat โดยทำการบน#เปลี่ยนทาง Virtual OpenCL ซึ่งก็ทำการบนระบบปฏิบัติการลินุกซ์อีกที
ระบบสามารถ "เจาะรหัสผ่าน 6.5 ล้านรหัสของผู้ใช้ลิงกต์อินในอัตรา#เปลี่ยนทาง ทั้งหมด"
แต่สำหรับขั้นตอนวิธีแฮชบางอย่าง ทั้งซีพียูและจีพียูต่างก็ใช้ได้ไม่ดี 
ดังนั้นจึงต้องใช้ฮาร์ดแวร์ที่ออกแบบโดยเฉพาะ#เปลี่ยนทาง ๆ
ซึ่งใช้เทคโนโลยี#เปลี่ยนทาง หรือเอสิก (ASIC)
แต่การพัฒนาเทคโนโลยีทั้งสองอย่างก็ซับซ้อนและมีค่าใช้จ่ายสูงมาก
ทั่วไปแล้วเอฟพีจีเออาจจะใช้ได้เมื่อใช้เป็นจำนวนน้อย เทียบกับ#เปลี่ยนทาง ที่ใช้ได้เมื่อใช้เป็นจำนวนมาก โดยใช้พลังงานอย่างมีประสิทธิภาพกว่าและก็เร็วกว่าด้วย 
ในปี#เปลี่ยนทาง 1998 มูลนิธิพรมแดนอิเล็กทรอนิกส์ (EFF) ได้สร้างเครื่องเจาะที่ออกแบบโดยเฉพาะด้วยเอสิก
เครื่องชื่อว่า Deep Crack นี้สามารถเจาะกุญแจดีอีเอสขนาด 56#เปลี่ยนทาง บิตภายใน #เปลี่ยนทาง โดยสามารถทดลองกุญแจเข้ารหัส #เปลี่ยนทาง 
ในปี#เปลี่ยนทาง 2017 มีเอกสารรั่วซึ่งแสดงว่า มีโปรเจกต์ทางทหารที่ใช้เอสิก 
ซึ่งอาจสามารถถอดรหัสลับ#เปลี่ยนทาง ทางอินเทอร์เน็ตที่เข้ารหัสลับชนิดที่อ่อนแอกว่า
เริ่มตั้งแต่ปี#เปลี่ยนทาง 2019 สามารถใช้โปรแกรม John the Ripper เพื่อเจาะรหัสผ่านที่ใช้ขั้นตอนวิธีบางอย่างอาศัยเทคโนโลยี#เปลี่ยนทาง 
ปัจจุบันมีบริษัทเอกชนที่ใช้เทคโนโลยีเช่นนี้เพื่อเจาะรหัสผ่าน
รหัสผ่านควรจำง่ายแต่เดายาก.
รหัสผ่านที่จำยากจะลดความมั่นคงของระบบเพราะ 
เช่นเดียวกัน ข้อบังคับของรหัสผ่านที่เข้มงวดยิ่งขึ้น เช่น "ต้องมีตัวอักษรตัวใหญ่ตัวเล็ก และตัวเลข" หรือ "ให้เปลี่ยนรหัสผ่านทุก#เปลี่ยนทาง ๆ เดือน" ก็จะทำให้ผู้ใช้มีโอกาสหาวิธีหลีกเลี่ยงข้อบังคับเหล่านั้น
งานศึกษาปี#เปลี่ยนทาง 2004
ตรวจสอบผลคำแนะนำที่ให้แก่ผู้ใช้เกี่ยวกับรหัสผ่านที่ดี 
แล้วพบว่ารหัสผ่านที่อาศัยการคิดถึงวลีหนึ่ง#เปลี่ยนทาง ๆ แล้วนำเอาอักษรแรกจากคำแต่ละคำในวลีไปใช้เป็นรหัสผ่าน จะจำได้ง่ายเท่ากับรหัสผ่านที่เลือกเอง แต่เดาได้ยากเท่า#เปลี่ยนทาง ๆ กับรหัสผ่านที่สร้างขึ้นโดยสุ่ม
การเลือกเอาคำสองคำที่ไม่เกี่ยวข้องกันก็เป็นวิธีที่ดีอีกอย่างหนึ่ง
การใช้วิธีสร้างรหัสผ่านที่เดายากโดยประดิษฐ์วิธีเอง ก็เป็นวิธีที่ดีอีกอย่างหนึ่ง 
การให้จำรหัสผ่านที่ประกอบด้วย "อักษรตัวเล็กตัวใหญ่" จะเหมือนกับให้จำลำดับเลขศูนย์เลขหนึ่ง คือจำได้ยาก แต่เจาะได้ยากกว่าไม่มาก (เช่นสำหรับรหัสผ่านที่มีอักษร 7#เปลี่ยนทาง ตัว จะยากขึ้น 128#เปลี่ยนทาง เท่า แต่น้อยกว่านั้นถ้าผู้ใช้ใช้อักษรตัวใหญ่ตัวเดียว)
การบังคับให้ใช้ "ทั้งตัวอักษรและตัวเลข" มักจะได้การแทนอักษรที่เดาได้ง่าย#เปลี่ยนทาง ๆ เช่น 'E' → '3' และ 'I' → '1' ที่ผู้โจมตีก็รู้จักดี 
เช่นเดียวกัน การพิมพ์รหัสผ่านโดยใช้แป้นพิมพ์แถวเลื่อนขึ้นไป ก็เป็นวิธีที่ผู้โจมตีรู้จักดีเช่นกัน 
งานวิจัยปี#เปลี่ยนทาง 2015 จากมหาวิทยาลัยคาร์เนกีเมลลอนแสดงว่า โครงสร้างรหัสผ่านที่ผู้ใช้เลือกมักจะมีรูปแบบที่มักทำเหมือน#เปลี่ยนทาง ๆ กัน 
เช่นถ้าบังคับให้ใช้รหัสผ่านที่มีอักษรอย่างน้อย 16#เปลี่ยนทาง ตัว ก็มักจะเลือกใช้อักษรซ้ำ#เปลี่ยนทาง ๆ หรือแม้แต่คำซ้ำ#เปลี่ยนทาง ๆ ภายในรหัสผ่าน
ดังนั้นจึงอาจเจาะได้ง่ายกว่าที่ค่าคำนวณ#เปลี่ยนทาง จะบ่งบอก 
เช่นเมื่อรหัสผ่านมีเลขหนึ่งตัว ปกติก็จะเป็นตัวท้ายสุด
เหตุการณ์ที่เกิด.
ในกลางปี#เปลี่ยนทาง 1998 ศูนย์ประสานงานการตอบสนองเรื่องฉุกเฉินทางคอมพิวเตอร์สหรัฐ (CERT) รายงานว่า มีผู้โจมตีที่ได้รหัสผ่านซึ่งเข้ารหัสลับไป 186,126 รหัส 
โดยพบว่า #เปลี่ยนทาง ถูกเจาะไปเรียบร้อยแล้ว
เมื่อท้ายปี#เปลี่ยนทาง 2009 เว็บไซต์ Rockyou.com ถูกแฮ็กโดยผู้โจมตีขโมยเอารหัสผ่านไปได้ #เปลี่ยนทาง 
แล้วเผยแพร่รายการรหัสผ่านทั้งหมดทาง#เปลี่ยนทาง แม้จะไม่มีข้อมูลระบุบุคคล
รหัสผ่านดั้งเดิมได้เก็บไว้เปล่า#เปลี่ยนทาง ๆ ในฐานข้อมูลและถูกดึงออกมาโดยวิธี SQL injection
ต่อมาจึงมีการวิเคราะห์ความแข็งแกร่งของรหัสผ่าน
สิ่งที่พบหลัก#เปลี่ยนทาง ๆ ก็คือ 
เมื่อกลางปี#เปลี่ยนทาง 2011 พันธมิตรเนโทถูกแฮ็กโดยข้อมูลผู้ใช้ร้านอีบุ๊กรั่วไหลออกไป 11,000#เปลี่ยนทาง ราย ข้อมูลรวมทั้งชื่อ นามสกุล ชื่อผู้ใช้ และรหัสผ่าน 
การแฮ็กเป็นส่วนของปฏิบัติการ AntiSec ซึ่งเป็นขบวนการที่ได้รับการร่วมมือจากกลุ่มนักเลงคอมพิวเตอร์ต่าง#เปลี่ยนทาง ๆ รวมทั้ง อะนอนิมัสและ LulzSec
เมื่อกลางปีเดียวกัน บริษัทให้คำปรึกษาอเมริกัน Booz Allen Hamilton ซึ่งทำงานเพื่อเดอะเพนตากอนมิใช่น้อย มีเซิร์ฟเวอร์ถูกแฮ็กโดย#เปลี่ยนทาง แล้วข้อมูลถูกเผยแพร่ในวันเดียวกัน
"เหตุการณ์ข้อมูลรั่วที่ตั้งชื่อว่า 'วันจันทร์วันล่มสลายของทหาร' มีข้อมูลบัญชีของเจ้าหน้าที่ #เปลี่ยนทาง จากหน่วยงานต่าง#เปลี่ยนทาง ๆ รวมทั้งหน่วยบัญชาการทหารสหรัฐภาคกลาง หน่วยบัญชาการยุทธการพิเศษสหรัฐ เหล่านาวิกโยธินสหรัฐ หน่วยต่าง#เปลี่ยนทาง ๆ ของกองทัพอากาศสหรัฐ กระทรวงความมั่นคงแห่งมาตุภูมิสหรัฐ กระทรวงการต่างประเทศสหรัฐ และข้อมูลที่ดูเหมือนจะเป็นของผู้รับเหมาฝ่ายเอกชน"
รหัสผ่านพบว่าใช้วิธีแฮช SHA-1 ที่ไม่ใส่ซอลต์ ต่อมาการวิเคราะห์ภายหลังพบว่า มีเจ้าหน้าที่ทหารที่ใช้รหัสผ่านที่อ่อนแอมากเช่น "1234"
ในเดือนเดียวกัน บริการอีเมลไมโครซอฟต์ฮอตเมลจึงเลิกไม่ให้ใช้รหัสผ่าน "123456"
เมื่อกลางปี#เปลี่ยนทาง 2015 ข้อมูลผู้ใช้ของบริการจัดหาคู่ที่สนับสนุนให้คนแต่งงานแล้วมีชู้ Ashley Madison ถูกแฮ็ก
รหัสผ่านได้เก็บไว้โดยใช้#เปลี่ยนทาง ทั้งที่ค่อนข้างเข้มแข็งคือ bcrypt และที่อ่อนแอคือ MD5
ต่อมากลุ่มวิจัยรหัสผ่านคือ CynoSure Prime จึงเจาะไปได้ 11 ล้านรหัสจากแฮชวิธีหลัง
การป้องกัน.
วิธีไม่ให้รหัสผ่านถูกเจาะอย่างหนึ่งก็คือป้องกันไม่ให้เข้าถึงค่าแฮช
ยกตัวอย่างเช่น ระบบปฏิบัติการยูนิกซ์ดั้งเดิมเก็บค่าแฮชไว้ในที่เข้าถึงได้โดยทั่วไปในแฟ้ม <code>/etc/passwd</code>
แต่ระบบยูนิกซ์ปัจจุบันจะเก็บไว้ในไฟล์ shadow password คือ <code>/etc/shadow</code> ซึ่งโปรแกรมที่มี#เปลี่ยนทาง เท่านั้นจึงจะเข้าถึงได้ 
จึงทำให้ผู้โจมตีขโมยเอาค่าแฮชได้ยากกว่า แต่จริง#เปลี่ยนทาง ๆ ก็ยังหลุดแม้ป้องกันด้วยวิธีนี้
มีการใช้ซอลต์ (salt) คือค่าสุ่มโดยเฉพาะ#เปลี่ยนทาง ๆ สำหรับรหัสผ่านแต่ละรหัส 
เมื่อใช้ค่าสุ่มร่วมสร้างแฮชรหัสผ่าน ก็จะป้องกันรหัสผ่านเดียวกันไม่ให้มี#เปลี่ยนทาง เดียวกัน ดังนั้น จึงป้องกันไม่ให้ถูกเจาะทีเดียวพร้อม#เปลี่ยนทาง ๆ กัน 
และยังเป็นอุปสรรคกับการสร้างฐานข้อมูลค่าแฮชล่วงหน้า เช่น ฐานของมูลเจาะรหัสผ่านอันมีประสิทธิภาพซึ่งเรียกว่า rainbow table
วิธีป้องกันอย่างที่#เปลี่ยนทาง 2 ก็คือการใช้กุญแจลับประจำเว็บไซต์เพื่อร่วมสร้างแฮชรหัสผ่าน ซึ่งป้องกันไม่ให้เจาะเอารหัสผ่านได้แม้จะขโมยค่าแฮชได้
แต่การโจมตีโดยเพิ่มสิทธิซึ่งทำให้ขโมยค่าแฮชได้ ก็อาจจะทำให้ขโมยกุญแจลับประจำเว็บไซต์ได้ด้วย
วิธีป้องกันอย่างที่#เปลี่ยนทาง 3 ก็คือการใช้ฟังก์ชันแปลงให้เป็นกุญแจ (KDF) ซึ่งช่วยลดอัตราที่สามารถทดลองรหัสผ่านได้#เปลี่ยนทาง 
ระบบยูนิกซ์ปัจจุบันได้เลิกใช้ฟังก์ชันการแฮชรหัสผ่านธรรมดา คือ 
ที่ทำให้เกิดผลด้วย DES แล้วแทนที่ด้วยฟังก์ชันที่แข็งแกร่งกว่าคือ , และ 
ระบบอื่น#เปลี่ยนทาง ๆ ก็เริ่มเปลี่ยนการแฮชรหัสผ่านด้วยเช่นกัน
ยกตัวอย่างเช่น Cisco IOS ดั้งเดิมใช้ขั้นตอนวิธี Vigenère cipher ที่ผันกลับได้เพื่อแฮชรหัสผ่าน แต่ปัจจุบันก็ใช้ md5-crypt ร่วมกับซอลต์ขนาด 24#เปลี่ยนทาง บิตเมื่อใช้คำสั่งงาน 
วิธีการใหม่#เปลี่ยนทาง ๆ ล้วนแต่ใช้ค่าซอลต์ขนาดใหญ่ซึ่งป้องกันผู้โจมตีไม่ให้เจาะรหัสผ่านเดียวกันหลาย#เปลี่ยนทาง ๆ รหัสได้พร้อม#เปลี่ยนทาง ๆ กัน 
ขั้นตอนวิธีเหล่านี้ยังใช้เวลามากกว่า ซึ่งเพิ่มเวลาในการเจาะรหัสผ่านแบบ#เปลี่ยนทาง ได้อย่างสำคัญ
แฮชโดยมากที่ใช้เก็บรหัสผ่าน เช่น MD5 และกลุ่ม SHA ออกแบบเพื่อให้คำนวณได้เร็ว ใช้ความจำน้อย และทำให้เกิดผลได้อย่างมีประสิทธิภาพในฮาร์ดแวร์ 
ขั้นตอนวิธีเหล่านี้จึงดำเนินการได้โดยขนานบนจีพียู ทำให้เจาะรหัสผ่านได้เร็วขึ้น 
ดังนั้น ขั้นตอนแฮชที่เร็วจึงป้องกันการเจาะรหัสผ่านไม่ได้แม้จะใช้ค่าซอลต์
แต่ก็มีขั้นตอนวิธียืดกุญแจ เช่น PBKDF2 และ crypt-SHA ที่ต้องคำนวณค่าแฮชซ้ำ#เปลี่ยนทาง ๆ ต่อ#เปลี่ยนทาง ๆ กัน ซึ่งสามารถลดอัตราการทดลองรหัสผ่านได้อย่างสำคัญเมื่อตั้งค่าที่ต้องคำนวณซ้ำให้สูงพอ 
ขั้นตอนวิธีอื่น#เปลี่ยนทาง ๆ เช่น scrypt ยังใช้ความจำมากร่วมกับการต้องคำนวณซ้ำ#เปลี่ยนทาง ๆ ดังนั้น จึงเจาะได้ยากแม้ใช้จีพียูหรือวงจรรวมที่ออกแบบโดยเฉพาะ
ในปี#เปลี่ยนทาง 2013 มีการแข่งขันวิธีการแฮชรหัสผ่านเพื่อเลือกเป็นมาตรฐานใหม่
โดยนักวิทยาการเข้ารหัสลับได้เลือก Argon2 เป็นมาตรฐานในปี#เปลี่ยนทาง 2015 ส่วนสถาบันมาตรฐานและเทคโนโลยีแห่งชาติสหรัฐ (NIST) แนะนำให้ใช้ขั้นตอนวิธี Balloon
ทั้งสองนี้ล้วนแต่ใช้ความจำมาก 
มีวิธีการแก้ปัญหาเช่นการใช้อุปกรณ์ security token ซึ่งให้รหัสผ่านที่เปลี่ยนแปลงอยู่ตลอดเวลา
วิธีการเช่นนี้จะลดระยะเวลาที่สามารถเจาะ เพราะจะต้องทำให้ได้ภายในเวลาที่รหัสผ่านนั้นยังใช้ได้ 
วิธียังลดคุณค่าของรหัสผ่านที่ถูกขโมยเพราะใช้ได้ในเวลาอันจำกัด
ซอฟต์แวร์.
มีซอฟต์แวร์เจาะรหัสผ่านเป็นจำนวนมาก แต่ที่นิยมที่สุดก็คือ
Aircrack-ng, Cain & Abel, John the Ripper, Hashcat, Hydra, DaveGrohl และ ElcomSoft
ยังมีโปรแกรมที่ใช้สืบหาหลักฐานบนคอมพิวเตอร์เพื่อการฟ้องคดี ซึ่งมักจะมีลูกเล่นเกี่ยวกับการเจาะรหัสผ่านหลายวิธีด้วย
วิธีที่ใช้ได้ผลมากที่สุดก็คือการโจมตีโดยใช้กำลังและการโจมตีโดยพจนานุกรม
เพราะคอมพิวเตอร์ทั่วไปเร็วขึ้นเรื่อย#เปลี่ยนทาง ๆ และมีซอฟต์แวร์เจาะรหัสผ่านอัตโนมัติที่ใช้งานได้ง่าย พวกนักเลงคอมพิวเตอร์มือใหม่ (script kiddie) จึงสามารถเริ่มเจาะรหัสผ่านได้ง่าย#เปลี่ยนทาง ๆ
เชิงอรรถและอ้างอิง.
<templatestyles src="Reflist/styles.css" />