Convert Figma logo to code with AI

HashPals logoName-That-Hash

🔗 Don't know what type of hash it is? Name That Hash will name that hash type! 🤖 Identify MD5, SHA256 and 300+ other hashes ☄ Comes with a neat web app 🔥

1,457
103
1,457
9

Top Related Projects

1,331

Software to identify the different types of hashes -

Quick Overview

Name-That-Hash is a modern hash identification tool written in Python. It can identify over 300 hash types quickly and accurately, making it an essential tool for cybersecurity professionals, CTF players, and anyone working with hashes.

Pros

  • Fast and accurate hash identification
  • Supports a wide range of hash types (300+)
  • User-friendly command-line interface and Python API
  • Actively maintained and regularly updated

Cons

  • May occasionally misidentify similar hash types
  • Requires Python 3.6+ to run
  • Limited functionality compared to more comprehensive hash cracking tools
  • Not suitable for actual hash cracking, only identification

Code Examples

  1. Identifying a single hash:
from name_that_hash import runner

hash_to_identify = "5f4dcc3b5aa765d61d8327deb882cf99"
result = runner.api_return_hashes_as_json([hash_to_identify])
print(result)
  1. Identifying multiple hashes:
from name_that_hash import runner

hashes = ["5f4dcc3b5aa765d61d8327deb882cf99", "098f6bcd4621d373cade4e832627b4f6"]
results = runner.api_return_hashes_as_json(hashes)
for hash_result in results:
    print(hash_result)
  1. Using the command-line interface:
nth -t "5f4dcc3b5aa765d61d8327deb882cf99"

Getting Started

To get started with Name-That-Hash, follow these steps:

  1. Install the library using pip:

    pip install name-that-hash
    
  2. Import the library in your Python script:

    from name_that_hash import runner
    
  3. Use the api_return_hashes_as_json function to identify hashes:

    hash_to_identify = "5f4dcc3b5aa765d61d8327deb882cf99"
    result = runner.api_return_hashes_as_json([hash_to_identify])
    print(result)
    

Alternatively, you can use the command-line interface by running nth followed by your options and the hash to identify.

Competitor Comparisons

1,331

Software to identify the different types of hashes -

Pros of hashID

  • Lightweight and simple to use
  • Supports a wide range of hash types
  • Can be easily integrated into other scripts

Cons of hashID

  • Less actively maintained (last update in 2019)
  • Limited features compared to more modern alternatives
  • Command-line interface may be less user-friendly for some users

Code Comparison

Name-That-Hash:

from name_that_hash import runner
runner.api_return_hashes_as_dict(["5f4dcc3b5aa765d61d8327deb882cf99"])

hashID:

from hashid import HashID
hashid = HashID()
hashid.identifyHash("5f4dcc3b5aa765d61d8327deb882cf99")

Summary

While hashID is a lightweight and simple tool for hash identification, Name-That-Hash offers a more modern and feature-rich alternative. Name-That-Hash has a more active development community, a user-friendly interface, and additional functionalities like JSON output and integration with other tools. However, hashID's simplicity and ease of integration may still make it a viable option for certain use cases or legacy systems.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

➡️ Discord | Website ⬅️

The Modern Hash Identification System
pip3 install name-that-hash && nth
Web App with no install needed

Discord PyPI - Downloads Twitter Follow PyPI - Python Version PyPI


🤔 What is this?

Have you ever come across a hash such as 5f4dcc3b5aa765d61d8327deb882cf99 and wondered what type of hash that is? 🤔

Name-that-hash will name that hash type!

🔥 Features

  • 📺 Popularity Ratings - Name that hash will show you the most popular hashes first. In older systems it would prioritise Skype Hash the same as Active Directory's NTLM! Which makes as much sense as saying that my GitHub is as popular as VSCode 📈
  • ✍ Hash Summaries - no more wondering whether it's MD5 or NTLM. Name-that-hash will summarise the main usage of each hash, allowing you to make an informed & decisive choice ⚡
  • 🌈 Colour Output - Don't worry, the colours were hand-selected with a designer to be 100% accessible and gnarly 😎
  • 🤖 JSON output && API - Want to use Name-That-Hash in your project? We are API first, CLI second. Use JSON output or import us as a Python module! 💾
  • 👵 Updated! - HashID was last updated in 2015. Hash-Identifier in 2011! Name-That-Hash is a 2021 project 🦧
  • ♿ Accessible - We are 100% committed to making this an accessible hacking tool 🙏
  • 🎫 Extensible - Add new hashes as quickly as you can edit this README. No, seriously -- it's that easy! 🎱

🥊 Name-That-Hash vs HashID vs Hash-Identifier

FeaturesName-That-HashHashIDHash-Identifier
Last updated2021, check commits.17/03/201530/09/2011

Honestly, do you need any more convincing? 😂

But, let's look at the features more in-depth.

📈 Feature Comparison

Name-that-hash proudly displays the most likely hash types

Here HashID displays Skype before NTLM, whereas Name-That-Hash understands popularity of hashes so places NTLM before Skype.

📕 You can also see Name-That-Hash displaying a summary, whereas HashID doesn't. In the default view it also displays John + HashCat information. Because let's face it, the only reason you're using this tool is to figure out what to put into HashCat! 🐱‍🚀

Name-That-Hash is radically different from HashID, I'm not going to list all the differences -- you can physically see them yourselves 😎

💌 Accessibility

Name-That-Hash is an accessible hacking tool. That means we spent time designing things, such as....

No long text or ascii art here

Removing the ASCII Art of very long "least likely" text blocks using --accessible.

Doing this means you don't get access to least likely, and if the hash is in that pile it'd suck. So we also have --no-banner.

Which removes the ASCII art banner.

🔨 Installation

Easy Mode Use our web app at https://nth.skerritt.blog.

You can install using Python's Pip.

pip3 install name-that-hash

or:

pip install name-that-hash

And then run:

nth

To use.

Packaging status

We're also in:

⚱ Fun Facts

  • We have a test-matrix which makes sure all of our hashes are up-to-date, including the HashCat mode and John the Ripper modes!
  • Unlike other hash identifiers which identify non-hashes, we have removed these so you'll only get real hashes (base64 who?)
  • Each and every hash is tested multiple times, for both false positives and true positives. No mistakes here!
  • There is a magical lamp that summons a genie somewhere in the source code.

💡 Documentation

Want to learn how popularity works?

What about using this in your own programs?

Or maybe even our commitment to accessibility?

Our documentation is for you!

📚 Documentation🐦 My Twitter (@ me for questions)🎳 Discord🧩 Web App
Wikihttps://twitter.com/bee_sec_sanDiscordWeb App

🙏 Contributing

The easiest way to contribute is by adding more hashes, writing descriptions, or changing their REGEX> All you have to do is go to this file and edit it.

You can read more about contributing here.

💌 Thanks

Many thanks to Jabba & Jayyy for their help :)

Thanks to HashID and Hash-Identifier for their work in this field, which heavily inspired this. 💝 The database of hashes was originally taken from them, but we've significantly modified it. Thank you so much for creating that database of 3000+ hashes 😻

Thanks to the TryHackMe Community too, and especially Oriel for her feedback on early versions.

And special thanks to Varg on his masterful understanding of colour theory 🌈

Finally, thanks too Blackout for helping write descriptions of hashes 🐱‍👤

📺 What people are saying

FalconSpy loves it!

We're in REMnux!

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):


Digital Sleuth

💻

amadejpapez

🐛 💻

SkeletalDemise

💻 🚧 🤔

Brandon

💻 🚧 🤔

Swanand Mulay

💻

This project follows the all-contributors specification. Contributions of any kind welcome!