ทุกวันนี้ การสร้างรายการคำรหัสผ่านมักจะหมายถึงการเชื่อมโยงแหล่งข้อมูลหลายแหล่งเข้าด้วยกัน
ตามหลักการแล้ว รหัสผ่านที่น่าจะเป็นไปได้ส่วนใหญ่ควรอยู่ที่จุดเริ่มต้นของรายการคำ ดังนั้นรหัสผ่านทั่วไปส่วนใหญ่จะถูกถอดรหัสทันที
ด้วย เครื่องมือแก้ไขข้อมูลซ้ำซ้อน ที่มีอยู่ คุณจะถูกบังคับให้เลือกว่าต้องการ รักษาลำดับ หรือ จัดการกับรายการคำศัพท์จำนวนมาก
ขออภัย การสร้างรายการคำต้องใช้ทั้ง :
ดังนั้นฉันจึงเขียนซ้ำใน C ที่ได้รับการปรับให้เหมาะสมที่สุดเพื่อตอบสนองความต้องการเฉพาะนี้
git clone https://github.com/nil0x42/duplicut
cd duplicut/ && make
./duplicut wordlist.txt -o clean-wordlist.txt
คุณสมบัติ :
-l
ตัวเลือก)-p
ตัวเลือก)การนำไปปฏิบัติ :
ข้อจำกัด :
uint64
นั้นเพียงพอที่จะจัดทำดัชนีบรรทัดใน hashmap โดยการบรรจุข้อมูล size
ภายในบิตพิเศษของตัวชี้:
หากไฟล์ทั้งหมดไม่สามารถใส่ในหน่วยความจำได้ ไฟล์นั้นจะถูกแบ่งออกเป็นส่วนเสมือน เพื่อให้แต่ละไฟล์ใช้ RAM มากที่สุดเท่าที่จะเป็นไปได้
จากนั้นแต่ละชิ้นจะถูกโหลดลงในแฮชแมป ขจัดข้อมูลซ้ำซ้อน และทดสอบกับชิ้นอื่นๆ ที่ตามมา
ด้วยวิธีนี้ เวลาดำเนินการจะลดลงจนเหลือ จำนวนสามเหลี่ยม มากที่สุด :
หากคุณพบข้อบกพร่องหรือบางอย่างไม่ทำงานตามที่คาดไว้ โปรดคอมไพล์รายการที่ซ้ำกันในโหมดแก้ไขข้อบกพร่องและโพสต์ปัญหาพร้อมกับเอาต์พุตที่แนบมาด้วย:
# debug level can be from 1 to 4
make debug level=1
./duplicut [OPTIONS] 2>&1 | tee /tmp/duplicut-debug.log