Hash-algorithm-identifier

A python tool to identify different Hash Function Algorithms

Download as .zip Download as .tar.gz View on GitHub

Hash-Algorithm-Identifier

A python tool to identify different Hash Function Algorithms.

Project site

http://psychocoderhc.github.io/Hash-Algorithm-Identifier

This is my first python tool. Its a Hash Identifier which can be used to identify the login hash or cookie hash, password hash etc. This tool can detect the algorithm used to store the password in a database in hash form, of various forums like MyBB, phpBB3, Drupal, Joomla, wordpress etc.

If you don't know what a Hash Function is then I recommend you to reading about it here :- http://en.wikipedia.org/wiki/Hash_function

Anyone who have used Kali Linux or Backtrack Linix, they may know that you have a tool named hash-identifier and the link to the source of the tool is given below :

https://code.google.com/p/hash-identifier/

But the code isn't very efficient and has a huge if-else-if and method construct which is repetitive and this makes the code redundant.

Here's my version of HashIdentifier. (# of lines of code : 156)

Screenshot

hash-identifier

The style and design of the code has been kept same as the original hash-identifier in the Google-code project link given above.

How to Use ?

To use this simply run (The app will start):-

python HashIdentifier.py

To make it executable as well run :-

chmod +x HashIdentifier.py

and then starting it by executing (One's the executable is made you can start it by typing the following text only):-

./HashIdentifier.py

If you don't understand the steps above then don't worry. In the github repository posted you will find a file named start.sh, just execute it and it will start running.

To execute the start.sh, type the following in the terminal :-

sh start.sh

About the Code

As it is evident from the code that I have used regular expressions to identify the hashes. The hashes are being identified because they have certain characteristics and when matched properly they will give give the correct results. Using regular expressions to identify the hash makes the code neat and easy to understand only if you have a proper understanding of them.

To understand the regex expressions used in the code, VISIT THIS SITE and paste the Regex Expression in its proper place and thereby you get the explanation.

Specifications :-

Encryption formats supported :- 160+ Hashes (Listed below)

No. of Hashes it can Identify : 160+

This Tool will be updated soon to support several other Hashes. Suggestion and feedback are welcome.