Skip to content

Conversation

@Grr1337
Copy link

@Grr1337 Grr1337 commented Dec 28, 2025

The check, whether hashes from a new hashlist are already cracked in another list, got optimized.
Instead of searching each hashline in the database, the entire comparion got sourced out to the database.
A temporary table of the new hashes is created and via join cracked hashes will be determined.

This will speed up the comparison for lists of a bigger size.

I haven't done comprehensive performance tests, but with my hashtopolis hash table containing 10 million rows and a 500k lines hashfile, I achieved 40 seconds instead of 1 minute and 15 seconds.

Outsourced <check if hashes already cracked in other list> algorithm to SQL for better performance.
implemented prepared queries for input sanitization
Made Code formatting more pretty
bugfix - updated varchar length to 1024
@s3inlc
Copy link
Member

s3inlc commented Jan 14, 2026

Thanks for your pull request. Please note that currently the big changes are happening in the dev branch and besides some bugfixes, the master will be updated at the point where the dev gets merged.
The issue with your optimization here is, that you are using in-line MySQL which makes it inflexible for other systems (we have now MySQL and PostgreSQL supported in the current development).
If it's possible to make this temporary table database system agnostic, it could be interesting though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants