{"id":18851979,"url":"https://github.com/theunknownsoul/java-hashcode-breaker","last_synced_at":"2025-10-06T01:06:36.317Z","repository":{"id":208987114,"uuid":"722956717","full_name":"TheUnknownSoul/java-hashcode-breaker","owner":"TheUnknownSoul","description":"Utility for dictionary attack on Java Object Hashcode.","archived":false,"fork":false,"pushed_at":"2023-12-05T14:34:11.000Z","size":17756,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-30T03:37:14.862Z","etag":null,"topics":["cli","crack","hashcode","jar","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheUnknownSoul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-24T10:47:10.000Z","updated_at":"2023-11-24T10:55:24.000Z","dependencies_parsed_at":"2023-12-05T15:45:21.866Z","dependency_job_id":"b412cd9e-06da-4f57-8ac5-625e32e2b9cb","html_url":"https://github.com/TheUnknownSoul/java-hashcode-breaker","commit_stats":null,"previous_names":["theunknownsoul/java-hashcode-breaker"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/TheUnknownSoul/java-hashcode-breaker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheUnknownSoul%2Fjava-hashcode-breaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheUnknownSoul%2Fjava-hashcode-breaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheUnknownSoul%2Fjava-hashcode-breaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheUnknownSoul%2Fjava-hashcode-breaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheUnknownSoul","download_url":"https://codeload.github.com/TheUnknownSoul/java-hashcode-breaker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheUnknownSoul%2Fjava-hashcode-breaker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278542906,"owners_count":26004097,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cli","crack","hashcode","jar","java"],"created_at":"2024-11-08T03:37:26.605Z","updated_at":"2025-10-06T01:06:36.298Z","avatar_url":"https://github.com/TheUnknownSoul.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JAVA HASHCODE BREAKER\n\n# Motivation\n\nThe most popular and powerful tools such as [Hashcat](https://github.com/hashcat)\nor [John The Ripper](https://www.openwall.com/john/) used to be as default\nhash cracking tools. But to some unknown reasons neither hashcat no john couldn't crack simple Java Object hashcode\nfunction. And even a lot of instruments couldn't identify such type of hash. This is very strange because sometimes Java\ndevelopers converts users passwords with simple hashcode function and pushes in to database which make dictionary\nattack reasonable. Also, if you don't want to pay to crack you hash on resources\nas [Hashes.com](https://hashes.com/en/credits) you may use this tool for testing.\n\n### Some additional information\n[Hashcat: issue Java hashCode() Token Length Exception with Hex integer](https://github.com/hashcat/hashcat/issues/3559)\n\n![simple_java_hash.png](assets%2Fsimple_java_hash.png)\n![hash_unknown_hash.png](assets%2Fhash_unknown_hash.png)\n![hashid_unknown_hash.png](assets%2Fhashid_unknown_hash.png)\n![hashcat_unknown_hash.png](assets%2Fhashcat_unknown_hash.png)\n![john_unknown_hash.png](assets%2Fjohn_unknown_hash.png)\n\n# Usage\n1. Clone the repository\n2. Change path to builds \n    ```\n    cd java_hashcode_breaker/builds\n    ```\n3. Run .jar file with options below\n    ```\n    java -jar \u003ccurrent build vesion\u003e.jar -h \u003cprovide hash here\u003e -w \u003cpath to wordlist\u003e\n   ```\n4. You can add -v option for verbose output \n    ```\n    java -jar \u003ccurrent build vesion\u003e.jar -h \u003cprovide hash here\u003e -w \u003cpath to wordlist\u003e -v\n    ```\n5. Happy cracking.\n\n### Example of work\nWithout verbosity\n\n![example.png](assets%2Fexample.png)\n\nWith -v option\n\n![example_verbose.png](assets%2Fexample_verbose.png)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheunknownsoul%2Fjava-hashcode-breaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheunknownsoul%2Fjava-hashcode-breaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheunknownsoul%2Fjava-hashcode-breaker/lists"}