{"id":16835355,"url":"https://github.com/defuse/crackstation-hashdb","last_synced_at":"2025-04-07T05:11:55.504Z","repository":{"id":8749082,"uuid":"10428024","full_name":"defuse/crackstation-hashdb","owner":"defuse","description":"CrackStation.net's Lookup Table Implementation.","archived":false,"fork":false,"pushed_at":"2018-09-25T03:31:40.000Z","size":38,"stargazers_count":372,"open_issues_count":10,"forks_count":109,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-03-30T22:11:15.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/defuse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-01T20:26:45.000Z","updated_at":"2025-02-22T11:08:04.000Z","dependencies_parsed_at":"2022-08-02T18:00:25.521Z","dependency_job_id":null,"html_url":"https://github.com/defuse/crackstation-hashdb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defuse%2Fcrackstation-hashdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defuse%2Fcrackstation-hashdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defuse%2Fcrackstation-hashdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/defuse%2Fcrackstation-hashdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/defuse","download_url":"https://codeload.github.com/defuse/crackstation-hashdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247595335,"owners_count":20963943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T12:09:51.191Z","updated_at":"2025-04-07T05:11:55.480Z","avatar_url":"https://github.com/defuse.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[CrackStation.net](http://crackstation.net/)'s Lookup Tables\n============================================================\n\nIntroduction\n------------\n\nThere are three components to this system:\n\n1. The indexing PHP script (createidx.php), which takes a wordlist and builds\n   a lookup table index for a hash function and the words in the list.\n\n2. The indexing sorter program (sortidx.c), which sorts an index created by the\n   indexing script, so that the lookup script can use a binary search on the \n   index to crack hashes.\n\n3. The lookup script (LookupTable.php), which uses the wordlist and index to\n   crack hashes.\n\nThe system is split up like this because PHP provides easy access to many\ndifferent types of hash functions, but is too slow to sort large indexes in\na reasonable amount of time. We are planning to re-write components #1 and #3 in\nC or C++.\n\nBuilding and Testing\n--------------------\n\nThe PHP scripts to not need to be built. To build the C programs, run `make`.\n\nTo run the tests, just run `make test`, and then clean up the files the tests\ncreated with `make testclean`.\n\nIndexing a Dictionary\n---------------------\n\nSuppose you have a password dictionary in the file `words.txt` and you would\nlike to index it for MD5 and SHA1 cracking.\n\nFirst, create the MD5 and SHA1 indexes:\n\n    $ php createidx.php md5 words.txt words-md5.idx\n    $ php createidx.php sha1 words.txt words-sha1.idx\n\nNext, use the sortidx program to sort the indexes:\n\n    $ ./sortidx -r 256 words-md5.idx\n    $ ./sortidx -r 256 words-sha256.idx\n\nThe -r parameter is the maximum amount of memory sortidx is allowed to use in\nMiB. The more memory you let it use, the faster it will go. Give it as much as\nyour system will allow.\n\nYou now have everything you need to crack MD5 and SHA1 hashes quickly.\n\nCracking Hashes\n---------------\n\nOnce you have generated and sorted the index, you can use the LookupTable class\nto crack hashes. See test/test.php for an example of how to use it.\n\nAdding Words\n------------\n\nOnce a wordlist has been indexed, you can not modify the wordlist file without\nbreaking the indexes. Appending to the wordlist is safe in that it will not\nbreak the indexes, but the words you append  won't be indexed, unless you\nre-generate the index. There is currently no way to add words to an index\nwithout re-generating the entire index.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefuse%2Fcrackstation-hashdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefuse%2Fcrackstation-hashdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefuse%2Fcrackstation-hashdb/lists"}