{"id":18086447,"url":"https://github.com/michaeldim02/houndsniff","last_synced_at":"2025-04-12T22:37:00.278Z","repository":{"id":44589095,"uuid":"298686407","full_name":"MichaelDim02/houndsniff","owner":"MichaelDim02","description":"Hash identification program.","archived":false,"fork":false,"pushed_at":"2022-02-13T00:58:12.000Z","size":156,"stargazers_count":152,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T16:46:36.501Z","etag":null,"topics":["database","hash","hash-features","hash-identifier","md5","password","pentesting","recognition","sha1"],"latest_commit_sha":null,"homepage":"","language":"C","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/MichaelDim02.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}},"created_at":"2020-09-25T21:51:00.000Z","updated_at":"2025-02-22T23:53:43.000Z","dependencies_parsed_at":"2022-09-10T04:25:14.236Z","dependency_job_id":null,"html_url":"https://github.com/MichaelDim02/houndsniff","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelDim02%2Fhoundsniff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelDim02%2Fhoundsniff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelDim02%2Fhoundsniff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichaelDim02%2Fhoundsniff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichaelDim02","download_url":"https://codeload.github.com/MichaelDim02/houndsniff/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248643006,"owners_count":21138353,"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":["database","hash","hash-features","hash-identifier","md5","password","pentesting","recognition","sha1"],"created_at":"2024-10-31T16:08:03.826Z","updated_at":"2025-04-12T22:37:00.255Z","avatar_url":"https://github.com/MichaelDim02.png","language":"C","funding_links":["https://www.paypal.com/donate/?hosted_button_id=HZXXLD586P5CW"],"categories":[],"sub_categories":[],"readme":"# houndsniff\nHoundsniff is a minimal hash identification tool written in C that uses a database to compare a hash's features to characteristics of other common hashing algorithm results. It also prints out the percentages of likelihood for each hashing alogirthm to be the one that produced the hash based on their popularity. Email hashes that I missed at \u003cmk@mcdim.xyz\u003e\n\nWebsite: https://mcdim.xyz/projects/hs.html\n\nBy Michael Constantine Dimopoulos, et al\n\nwith significant contributions by [Christopher Wellons](https://github.com/skeeto) and revisions \u0026 suggestions by [Martin K.](https://github.com/kurahaupo) as well as tuu and fizzie on ##c on Freenode.\n\nCurrent version: 2.1\n\n![Screenshot](https://blogger.googleusercontent.com/img/a/AVvXsEh7UuJAMRdL4MOA82DH7C2g78X1t_kvsQuKcG-Cww6SqbZ68f_G8TZ3ibOJi7s09bMopa34NkzCbWILgWo0budEUbSlsTtK6GUDogOkZvtZQ0lqhiz2GBBkQkzR7PRDosDHm5RMbcQ6gHOQH3DxL-hJy2ncIlyxIb2gU1fcs5aLaIAM83ezm2NtnrPa=s16000)\n\nClone, build \u0026 install\n----\nDependencies:\n+ readline - `sudo apt install libreadline-dev` for Debian \u0026 `sudo pacman -S readline` for Arch\n```\n$ git clone https://github.com/michaeldim02/houndsniff.git \u0026\u0026 cd houndsniff/src\n$ sudo make install\n```\n\nUsage\n----\n```\nhoundsniff [HASH]\n```\nor, alternatively you can use the interactive shell:\n```\nhoundsniff -i\n```\nYou can exit with ^C.\n\nYou can also use scripting mode, which allows houndsniff to get hashes from stdin and print to stdout without much eye-candy:\n\n```\necho \"$hash\" | houndsnif -s\n```\n\nThanks\n----\nThanks a lot to tuu and fizzie, as well as kurahaupo on ##c @ freenode for their revisions and suggestions! (even though I've yet to implement everything). I truly appreciate the help.\n\n## Donate\n[![paypal](https://mcdim.xyz/media/button_paypal2.png)](https://www.paypal.com/donate/?hosted_button_id=HZXXLD586P5CW)\n\nMore donation options on the website: \u003ca href=\"https://mcdim.xyz/\"/\u003emcdim.xyz\u003c/a\u003e\n\nNote\n----\nIt is impossible to mathematically and algorithmically determine which specific algorithm produced a certain hash, and that's definitely not houndsniff is claiming to be able to do. A hash of a specific length and characterset could have been generated by a number of different hashing algorithms, and the hash itself doesn't give further information for one to determine whether or not it was produced by i.e MD5 or RIPEMD128, since both of these algorithms produce 128 bit hashes.\n\nThe only effective way to distinguish between two hashing algorithms that produce hashes of the same characteristics is through the popularity of each hashing algorithm. This is how the percentages are calculated.\n\n**The percentages are not arbitrary or random**. They are hardcoded in the program in `select.c`, which may give the impression that they are random. This is not the case. They are determined through web search engine results. The numbers are combined into a sum which is then split accordingly into percentages. This process is done semi-automatically with the use a script.\n\nSo, generally, regarding the percentages:\n+ houndsniff is not meant to give the impression that the percentages are calculated in real time. The percentages are hardcoded into the program.\n+ Still, the percentages aren't random or arbitrary. I chose to hardcode them in because it would make the tool a lot lighter, easier to maintain, so that it wouldn't require an internet connection to run, and so that it wouldn't randomly bruteforce websites. Hash algorithm popularity does not change overnight, and if it did we would just update houndsniff, so there's no reason why the percentages should be calculated in real time, and not just hardcoded in.\n+ the percentages are truncated to 2 decimal digits, so they may not add up to 100 exactly.\n+ only known hashing algorithms are taken into consideration when calculated them.\n+ and lastly, the percentages are, of course, only as accurate as the web search engine results.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeldim02%2Fhoundsniff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaeldim02%2Fhoundsniff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeldim02%2Fhoundsniff/lists"}