Top Related Projects
World's fastest and most advanced password recovery utility
Crack hashes in seconds.
Quick Overview
The hashID
project is a Python script that can identify the type of hash used in a given string. It supports a wide range of hash types, including MD5, SHA-1, SHA-256, and many others, making it a useful tool for security researchers and forensic analysts.
Pros
- Comprehensive Hash Support: The project supports a wide range of hash types, including common cryptographic hashes as well as less common ones.
- Easy to Use: The script can be run from the command line, making it accessible to users with varying technical backgrounds.
- Open-Source: The project is open-source, allowing for community contributions and improvements.
- Cross-Platform: The script can be run on Windows, macOS, and Linux systems.
Cons
- Limited Functionality: The project is primarily focused on hash identification and does not provide additional features like hash cracking or analysis.
- Potential for Misuse: While the tool is intended for legitimate use, it could potentially be used for malicious purposes, such as identifying hashes for password cracking.
- Outdated Documentation: The project's documentation could be more comprehensive and up-to-date, which may make it harder for new users to get started.
- Lack of Active Maintenance: The project appears to have limited active maintenance, with the last commit being over a year ago.
Code Examples
N/A (This is not a code library)
Getting Started
N/A (This is not a code library)
Competitor Comparisons
World's fastest and most advanced password recovery utility
Pros of hashcat
- Hashcat is a highly efficient and powerful password cracking tool, capable of handling a wide range of hash types and supporting various attack modes.
- The project has a large and active community, with regular updates and improvements to the tool.
- Hashcat is widely used in the security and penetration testing community, making it a well-established and trusted solution.
Cons of hashcat
- Hashcat can be complex to set up and configure, especially for users who are new to password cracking or the command-line interface.
- The tool is primarily focused on password cracking and may not provide the same level of functionality as other hash identification tools.
Code Comparison
Here's a brief comparison of the code for hashcat and psypanda/hashID:
hashcat (simplified):
if mode == 0:
attack_mode = ATTACK_MODE_STRAIGHT
elif mode == 1:
attack_mode = ATTACK_MODE_COMBINATION
elif mode == 3:
attack_mode = ATTACK_MODE_BRUTE_FORCE
psypanda/hashID:
def identify_hash(hash_str):
for h in HASH_TYPES:
if re.match(h[1], hash_str):
return h[0]
return "Unknown"
Crack hashes in seconds.
Pros of Hash-Buster
- Supports a wider range of hash types, including some less common ones like NTLM and Cisco PIX.
- Provides an interactive mode that allows users to test hashes interactively.
- Includes a built-in database of common hashes, which can speed up the identification process.
Cons of Hash-Buster
- Requires the installation of additional dependencies, such as
termcolor
andcolorama
, which may not be present on all systems. - The output can be less detailed than hashID, as it only provides the hash type and does not include additional information like the hash length.
- The project has not been updated in over a year, which may indicate a lower level of ongoing maintenance and support.
Code Comparison
hashID:
def hashIdentify(hashString):
hashTypes = {
"MD5": r"^[a-f0-9]{32}$",
"SHA-1": r"^[a-f0-9]{40}$",
"SHA-256": r"^[a-f0-9]{64}$",
"SHA-384": r"^[a-f0-9]{96}$",
"SHA-512": r"^[a-f0-9]{128}$",
"NTLM": r"^[a-f0-9]{32}:[a-f0-9]{32}$"
}
for hashType, regex in hashTypes.items():
if re.match(regex, hashString):
return hashType
return "Unknown"
Hash-Buster:
def identify_hash(hash_string):
hash_types = [
"MD5", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "NTLM", "MySQL5",
"MySQL4", "LM", "RIPEMD-160", "Cisco PIX", "Cisco ASA", "Juniper Netscreen/SSG",
"Fortigate (FortiOS)", "Blowfish(Eggdrop)", "Cisco Type 7", "Juniper/NetBSD sha1crypt",
"Drupal7", "Salted SHA-512", "Kerberos 5 AS-REQ Pre-Auth etype 23", "Radmin2"
]
for hash_type in hash_types:
if is_this_hash(hash_string, hash_type):
return hash_type
return "Unknown"
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
hashID | hash-identifier
Identify the different types of hashes used to encrypt data and especially passwords.
This replaces hash-identifier <http://code.google.com/p/hash-identifier/>
__, which
is outdated!
hashID is a tool written in Python 3 which supports the
identification of over 220 unique hash types using regular expressions.
A detailed list of supported hashes can be found
here <https://github.com/psypanda/hashID/blob/master/doc/HASHINFO.xlsx>
__.
It is able to identify a single hash, parse a file or read multiple
files in a directory and identify the hashes within them.
hashID is also capable of including the corresponding
hashcat <https://hashcat.net/oclhashcat/>
__ mode and/or
JohnTheRipper <http://www.openwall.com/john/>
__ format in its output.
hashID works out of the box with Python 2 ⥠2.7.x or Python 3 ⥠3.3 on any platform.
*Note: When identifying a hash on nix operating systems use single quotes to prevent interpolation.
Installation
You can install, upgrade, uninstall hashID with these commands:
.. code:: console
$ pip install hashid
$ pip install --upgrade hashid
$ pip uninstall hashid
Or you can install by cloning the repository:
.. code:: console
$ sudo apt-get install python3 git
$ git clone https://github.com/psypanda/hashid.git
$ cd hashid
$ sudo install -g 0 -o 0 -m 0644 doc/man/hashid.7 /usr/share/man/man7/
$ sudo gzip /usr/share/man/man7/hashid.7
Alternatively you can grab the latest release
here <https://github.com/psypanda/hashID/releases>
__.
Usage
.. code:: console
$ ./hashid.py [-h] [-e] [-m] [-j] [-o FILE] [--version] INPUT
+---------------------------+-------------------------------------------------------+ | Parameter | Description | +===========================+=======================================================+ | INPUT | input to analyze (default: STDIN) | +---------------------------+-------------------------------------------------------+ | -e, --extended | list all hash algorithms including salted passwords | +---------------------------+-------------------------------------------------------+ | -m, --mode | show corresponding hashcat mode in output | +---------------------------+-------------------------------------------------------+ | -j, --john | show corresponding JohnTheRipper format in output | +---------------------------+-------------------------------------------------------+ | -o FILE, --outfile FILE | write output to file (default: STDOUT) | +---------------------------+-------------------------------------------------------+ | --help | show help message and exit | +---------------------------+-------------------------------------------------------+ | --version | show program's version number and exit | +---------------------------+-------------------------------------------------------+
Screenshot
.. code:: console
$ ./hashid.py '$P$8ohUJ.1sdFw09/bMaAQPTGDNi2BIUt1'
Analyzing '$P$8ohUJ.1sdFw09/bMaAQPTGDNi2BIUt1'
[+] Wordpress ⥠v2.6.2
[+] Joomla ⥠v2.5.18
[+] PHPass' Portable Hash
$ ./hashid.py -mj '$racf$*AAAAAAAA*3c44ee7f409c9a9b'
Analyzing '$racf$*AAAAAAAA*3c44ee7f409c9a9b'
[+] RACF [Hashcat Mode: 8500][JtR Format: racf]
$ ./hashid.py hashes.txt
--File 'hashes.txt'--
Analyzing '*85ADE5DDF71E348162894C71D73324C043838751'
[+] MySQL5.x
[+] MySQL4.1
Analyzing '$2a$08$VPzNKPAY60FsAbnq.c.h5.XTCZtC1z.j3hnlDFGImN9FcpfR1QnLq'
[+] Blowfish(OpenBSD)
[+] Woltlab Burning Board 4.x
[+] bcrypt
--End of file 'hashes.txt'--
Resources
Top Related Projects
World's fastest and most advanced password recovery utility
Crack hashes in seconds.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot