{"id":6474,"date":"2021-07-01T11:01:36","date_gmt":"2021-07-01T11:01:36","guid":{"rendered":"https:\/\/miloserdov.org\/?p=6474"},"modified":"2021-07-01T11:01:36","modified_gmt":"2021-07-01T11:01:36","slug":"how-to-identify-hash-types-new-tools-with-modern-hashes-support","status":"publish","type":"post","link":"https:\/\/miloserdov.org\/?p=6474","title":{"rendered":"How to identify hash types \u2013 new tools with modern hashes support"},"content":{"rendered":"<div class=\"0b20205ac99e89c6cabdb919fd9d1a8a\" data-index=\"1\" style=\"float: none; margin:10px 0 10px 0; text-align:center;\">\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block; text-align:center;\"\r\n     data-ad-format=\"fluid\"\r\n     data-ad-layout=\"in-article\"\r\n     data-ad-client=\"ca-pub-7219829351026140\"\r\n     data-ad-slot=\"9942251718\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\r\n\r\n\n<\/div>\n<p style=\"text-align: justify;\">\n\tIn the article &ldquo;<a href=\"https:\/\/miloserdov.org\/?p=1254\" target=\"_blank\" rel=\"noopener\">How to identify hash types<\/a>&rdquo; we have already got acquainted with such utilities as hashID and HashTag, which determine the hash string by which algorithm it was calculated.\n<\/p>\n<p style=\"text-align: justify;\">\n\tThe aforementioned tools still work, but the world does not stand still (and the development of these programs does stand still). Now there are new types of hashes that are not supported or have errors in these tools.\n<\/p>\n<p style=\"text-align: justify;\">\n\tRight now, at the time of writing, two new programs are under active development for identifying hash types. They support more hashing algorithms and are just better than the old tools in everything. This article is devoted to acquaintance with new tools for identifying a hash type.\n<\/p>\n<h2 style=\"text-align: justify;\">\n\tWhy do we need new tools for identifying hash types?<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\thashID has been deprecated since March 2015, hash-identifier has been deprecated since 2011, Dagon since June 2018, and findmyhash since 2011. All of them do not have at all, or have incorrect, erroneous support for modern hashes such as Keccak\/SHA3\/Blake2, etc. Also, a tool like hash-identifier, which is completely interactive, has no parameters and is not convenient for use in scripts. findmyhash has a very limited set of detectable hashes. The most interesting tool is hashID (for identifying a hash), but since it hasn&#39;t been supported for over 5 years, problems and open PRs (Pull Requests) are piling up, bugs are not fixed, and some features are missing.\n<\/p>\n<p style=\"text-align: justify;\">\n\tAll this could have prompted the authors to create new tools with capabilities missing from their predecessors.\n<\/p>\n<p style=\"text-align: justify;\">\n\tLet&#39;s look at a comparative table of tools for determining the type of hash:\n<\/p>\n<table border=\"2\">\n<thead>\n<tr>\n<th style=\"text-align: justify;\">\n\t\t\t\tTool\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\tMaintained\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\tColor\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\tRef.\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\tLibrary\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\tLang\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\t#\ufe0f\u20e3\n\t\t\t<\/th>\n<th style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/en.kali.tools\/?p=1567\" target=\"_blank\" rel=\"noopener\">haiti<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705 (2019-now)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t382\n\t\t\t<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/github.com\/psypanda\/hashID\" target=\"_blank\" rel=\"noopener\">hashID<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c (2013-2015)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2b55\ufe0f\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t275\n\t\t\t<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/code.google.com\/archive\/p\/hash-identifier\/\" target=\"_blank\" rel=\"noopener\">hash-identifier<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c (2011-2011)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t~126\n\t\t\t<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/github.com\/Ekultek\/Dagon\" target=\"_blank\" rel=\"noopener\">Dagon<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c (2017-2018)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2b55\ufe0f\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2b55\ufe0f\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t~48\n\t\t\t<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/code.google.com\/archive\/p\/findmyhash\" target=\"_blank\" rel=\"noopener\">findmyhash<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c (2011-2011)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t~17\n\t\t\t<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/en.kali.tools\/?p=1556\" target=\"_blank\" rel=\"noopener\">Name-That-Hash<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705 (2021-now)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2705\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t365\n\t\t\t<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: justify;\">\n\t\t\t\t<a href=\"https:\/\/github.com\/SmeegeSec\/HashTag\" target=\"_blank\" rel=\"noopener\">HashTag<\/a>\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c (2013-2013)\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u274c\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t?\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t\u2b55\n\t\t\t<\/td>\n<td style=\"text-align: justify;\">\n\t\t\t\t~137\n\t\t\t<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">\n\t&nbsp;\n<\/p>\n<p style=\"text-align: justify;\">\n\tLegend:\n<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tRef.: showing next to the hash type the corresponding mode of hashcat and hash name of john the ripper\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t\u2705: function supported\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t\u274c: function not supported\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t\u2b55\ufe0f: function is partially supported\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t?: the Ruby programming language\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t?: the Python programming language\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t#: correct support for modern hashes\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t?: number of hashes supported\n\t<\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\">\n\tExample hashes<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\tIf you need sample hashes for verifying instruments, see the section &ldquo;<a href=\"https:\/\/miloserdov.org\/?p=5008#23\" target=\"_blank\" rel=\"noopener\">Where to see examples of hashes<\/a>&rdquo;.\n<\/p>\n<p style=\"text-align: justify;\">\n\tI selected several hashes for analysis:\n<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tSHA3-224\n\t<\/li>\n<\/ul>\n<pre class=\"brush:plain;\">\r\n412ef78534ba6ab0e9b1607d3e9767a25c1ea9d5e83176b4c2817a6c<\/pre>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tSHA3-512\n\t<\/li>\n<\/ul>\n<pre class=\"brush:plain;\">\r\n7c2dc1d743735d4e069f3bda85b1b7e9172033dfdd8cd599ca094ef8570f3930c3f2c0b7afc8d6152ce4eaad6057a2ff22e71934b3a3dd0fb55a7fc84a53144e<\/pre>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tPKZIP Master Key\n\t<\/li>\n<\/ul>\n<pre class=\"brush:plain;\">\r\nf1eff5c0368d10311dcfc419<\/pre>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tCRC32\n\t<\/li>\n<\/ul>\n<pre class=\"brush:plain;\">\r\nc762de4a:00000000<\/pre>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tKeccak-512\n\t<\/li>\n<\/ul>\n<pre class=\"brush:plain;\">\r\n2fbf5c9080f0a704de2e915ba8fdae6ab00bbc026b2c1c8fa07da1239381c6b7f4dfd399bf9652500da723694a4c719587dd0219cb30eabe61210a8ae4dc0b03<\/pre>\n<h2 style=\"text-align: justify;\">\n\tHashes must be enclosed in single quotes!<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\tHashes can include special characters that have a special meaning to the shell. This is especially important if you are using Linux. If you do not take this into account, the program for determining the hash type, although it will not report an error, will receive a string different from the one you thought you entered.\n<\/p>\n<p style=\"text-align: justify;\">\n\tMoreover, even in double quotes, the shell treats some characters as special. So to avoid escaping them, put the entire hash in single quotes.\n<\/p>\n<p style=\"text-align: justify;\">\n\tIt is not necessary to quote hashes consisting only of letters and numbers, but I prefer to pass all hashes in single quotes.\n<\/p>\n<h2 style=\"text-align: justify;\">\n\tHAITI<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/en.kali.tools\/?p=1567\" target=\"_blank\" rel=\"noopener\">HAITI<\/a> (HAsh IdenTifIer) is a command line tool (and library) for identifying the type of a given hash. The library is especially good for scripting because you don&#39;t have to wrap the command line tool in a subprocess.\n<\/p>\n<p style=\"text-align: justify;\">\n\tFeatures:\n<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n\t\t382+ hash types detected\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\tModern algorithms supported (SHA3, Keccak, Blake2, etc.)\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<a href=\"http:\/\/en.kali.tools\/?p=155\" target=\"_blank\" rel=\"noopener\">Hashcat<\/a> and <a href=\"https:\/\/en.kali.tools\/?p=1276\" target=\"_blank\" rel=\"noopener\">John the Ripper<\/a> references\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\tCLI tool &amp; library\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\tColor output\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\tHackable\n\t<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">\n\tA complete list of program options and installation instructions can be found in the program card: <a href=\"https:\/\/en.kali.tools\/?p=1567\" target=\"_blank\" rel=\"noopener\">https:\/\/en.kali.tools\/?p=1567<\/a>\n<\/p>\n<p style=\"text-align: justify;\">\n\tUsing the program is very simple &#8211; put your hash after the program name:\n<\/p>\n<pre class=\"brush:bash;\">\r\nhaiti OPTIONS &#39;HASH&#39;<\/pre>\n<p style=\"text-align: justify;\">\n\tMoreover, OPTIONS are not necessary, the default behavior of the program is very balanced and in most cases you will not want to change it with any additional parameters.\n<\/p>\n<p style=\"text-align: justify;\">\n\tFor example:\n<\/p>\n<pre class=\"brush:bash;\">\r\nhaiti 7c2dc1d743735d4e069f3bda85b1b7e9172033dfdd8cd599ca094ef8570f3930c3f2c0b7afc8d6152ce4eaad6057a2ff22e71934b3a3dd0fb55a7fc84a53144e<\/pre>\n<p style=\"text-align: justify;\">\n\tOutput:\n<\/p>\n<pre class=\"brush:plain;\">\r\nSHA-512 [HC: 1700] [JtR: raw-sha512]\r\nSHA3-512 [HC: 17600] [JtR: raw-sha3]\r\nSHA3-512 [HC: 17600] [JtR: dynamic_400]\r\nKeccak-512 [HC: 18000] [JtR: raw-keccak]\r\nBLAKE2-512 [JtR: raw-blake2]\r\nWhirlpool [HC: 6100] [JtR: whirlpool]\r\nSalsa10\r\nSalsa20\r\nSkein-512 [JtR: skein-512]\r\nSkein-1024(512)<\/pre>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-6482\" height=\"315\" src=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti.png\" width=\"838\" srcset=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti.png 838w, https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-768x289.png 768w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><\/a>\n<\/p>\n<p style=\"text-align: justify;\">\n\tAmong the output is the correct answer: SHA3-512\n<\/p>\n<p style=\"text-align: justify;\">\n\tIn the output, <strong>HC<\/strong> is an abbreviation for <a href=\"http:\/\/en.kali.tools\/?p=155\" target=\"_blank\" rel=\"noopener\">Hashcat<\/a>, and subsequent digits (for example, 1700, 17600, and so on) are the mode numbers in this program.\n<\/p>\n<p style=\"text-align: justify;\">\n\t<strong>JtR<\/strong> is short for <a href=\"https:\/\/en.kali.tools\/?p=1276\" target=\"_blank\" rel=\"noopener\">John the Ripper<\/a>, and the following lines are the name of the hash algorithms for cracking in this program (raw-sha512, raw-sha3, and so on).\n<\/p>\n<p style=\"text-align: justify;\">\n\tColor improves the readability of the output very well, especially if it is large. If you want to disable color output, then use the <strong>&#8211;no-color option<\/strong>:\n<\/p>\n<pre class=\"brush:bash;\">\r\nhaiti --no-color 412ef78534ba6ab0e9b1607d3e9767a25c1ea9d5e83176b4c2817a6c<\/pre>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-2.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-6481\" height=\"316\" src=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-2.png\" width=\"838\" srcset=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-2.png 838w, https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-2-768x290.png 768w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><\/a>\n<\/p>\n<p style=\"text-align: justify;\">\n\tAlthough often the output contains more than one guess about the hash type, salted algorithms are excluded by default. To show all possible hashing algorithms, including using a salt, use the <strong>-e<\/strong> or <strong>&#8211;extended<\/strong> option:\n<\/p>\n<pre class=\"brush:bash;\">\r\nhaiti -e 7c2dc1d743735d4e069f3bda85b1b7e9172033dfdd8cd599ca094ef8570f3930c3f2c0b7afc8d6152ce4eaad6057a2ff22e71934b3a3dd0fb55a7fc84a53144e<\/pre>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-3.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-6480\" height=\"558\" src=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-3.png\" width=\"839\" srcset=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-3.png 839w, https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-3-768x511.png 768w\" sizes=\"(max-width: 839px) 100vw, 839px\" \/><\/a>\n<\/p>\n<p style=\"text-align: justify;\">\n\tIf you only want to know the hash type and information about hashcat and john the ripper modes is superfluous for you, then you can specify the <strong>&#8211;short<\/strong> option for shortened output:\n<\/p>\n<pre class=\"brush:bash;\">\r\nhaiti --short f1eff5c0368d10311dcfc419<\/pre>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-5.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-6479\" height=\"189\" src=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/haiti-5.png\" width=\"604\" \/><\/a>\n<\/p>\n<h2 style=\"text-align: justify;\">\n\tName-That-Hash<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\tFrom January 2021, almost two years after work on <strong>HAITI<\/strong> began, a project called <a href=\"https:\/\/en.kali.tools\/?p=1556\" target=\"_blank\" rel=\"noopener\">Name-That-Hash<\/a> emerged because the author needed a Python library for Ciphey. There are now two relevant options for identifying a hash.\n<\/p>\n<p style=\"text-align: justify;\">\n\tName That Hash defines the type of hash. The program supports MD5, SHA256 and over 300 other hashes.\n<\/p>\n<p style=\"text-align: justify;\">\n\tFeatures of Name That Hash:\n<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n\t\t<strong>Popularity Ratings<\/strong> &ndash; You will see the most popular hashes first.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Hash Summaries<\/strong> &ndash; Name-that-hash will summarize the basics of using each hash, allowing you to make an informed choice.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>The color output<\/strong> is contrasting and descriptive.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Output to JSON and API<\/strong> &ndash; you can use Name-That-Hash in your project, since the program has an API and a command line interface. Use JSON output or import the program as a Python module!\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Updated<\/strong> &ndash; Name-That-Hash is a 2021 project.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Thoughtfulness<\/strong> &ndash; the authors have thought over the functions, interface and options with ease of use in mind.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Extensibility<\/strong> &ndash; add new hashes as quickly as you can edit the text file.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Working with files<\/strong> &ndash; the program reads a file line by line and checks the type of each hash.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Hash lookup<\/strong> is an extreme mode that tries to extract a hash even if the string contains garbage.\n\t<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">\n\tInstallation instructions and a complete list of options can be found at <a href=\"https:\/\/en.kali.tools\/?p=1556\" target=\"_blank\" rel=\"noopener\">https:\/\/en.kali.tools\/?p=1556<\/a>.\n<\/p>\n<p style=\"text-align: justify;\">\n\tTo determine the hash type, specify it with the <strong>-t<\/strong> (<strong>&#8211;text<\/strong>) option:\n<\/p>\n<pre class=\"brush:bash;\">\r\nnth -t &#39;HASH&#39;<\/pre>\n<p style=\"text-align: justify;\">\n\tFor example:\n<\/p>\n<pre class=\"brush:bash;\">\r\nnth -t &#39;7c2dc1d743735d4e069f3bda85b1b7e9172033dfdd8cd599ca094ef8570f3930c3f2c0b7afc8d6152ce4eaad6057a2ff22e71934b3a3dd0fb55a7fc84a53144e&#39;<\/pre>\n<p style=\"text-align: justify;\">\n\tOutput example:\n<\/p>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-6478\" height=\"623\" src=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth.png\" width=\"1197\" srcset=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth.png 1197w, https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth-1000x520.png 1000w, https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth-768x400.png 768w\" sizes=\"(max-width: 1197px) 100vw, 1197px\" \/><\/a>\n<\/p>\n<p style=\"text-align: justify;\">\n\tHashes are divided into two groups:\n<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n\t\t<strong>Most Likely<\/strong>\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\t<strong>Least Likely<\/strong>\n\t<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">\n\tMoreover, in these groups, they are also sorted by frequency of use.\n<\/p>\n<p style=\"text-align: justify;\">\n\tIn the output, you can see the already familiar <strong>HC<\/strong> and <strong>JtR<\/strong> strings with the numbers and names of hashing algorithms in Hashcat and John.\n<\/p>\n<p style=\"text-align: justify;\">\n\tIn addition, there is a short description of the application, for example:\n<\/p>\n<ul>\n<li style=\"text-align: justify;\">\n\t\tSummary: Used in Bitcoin Blockchain and Shadow Files.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\tSummary: Used in Wireguard, Zcash, IPFS and more.\n\t<\/li>\n<li style=\"text-align: justify;\">\n\t\tSummary: Not considered a hash function\n\t<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">\n\tMoreover, please note that some entries are hyperlinks (they are underlined with dots) and for more information you can go to web pages. All this is done so that you can navigate the proposed hash types and choose the most suitable one.\n<\/p>\n<p style=\"text-align: justify;\">\n\tTo check multiple hashes, use the <strong>-f<\/strong> (<strong>&#8211;file<\/strong>) option:\n<\/p>\n<pre class=\"brush:bash;\">\r\nnth -f &#39;FILE&#39;<\/pre>\n<p style=\"text-align: justify;\">\n\tThe file format is one hash per line.\n<\/p>\n<p style=\"text-align: justify;\">\n\tOne of these options (<strong>-t<\/strong> or <strong>-f<\/strong>) is required.\n<\/p>\n<p style=\"text-align: justify;\">\n\tIf your hashes are Base64 encoded, then use the <strong>-b64<\/strong> (<strong>&#8211;base64<\/strong>) option. It tells the program to decode Base64 hashes before identifying. For files with mixed Base64 strings and in plain text, the program first tries to decode base64, and if this fails, then it treats the hash as an ordinary plain text string.\n<\/p>\n<p style=\"text-align: justify;\">\n\tExample:\n<\/p>\n<pre class=\"brush:bash;\">\r\nnth -t &#39;ZjFlZmY1YzAzNjhkMTAzMTFkY2ZjNDE5Cg==&#39; -b64<\/pre>\n<p style=\"text-align: justify;\">\n\tPlease note that the already decoded string is shown as a hash (after the header).\n<\/p>\n<p style=\"text-align: justify;\">\n\t<a href=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth-2.png\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" class=\"alignnone size-full wp-image-6477\" height=\"552\" src=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth-2.png\" width=\"916\" srcset=\"https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth-2.png 916w, https:\/\/miloserdov.org\/wp-content\/uploads\/2021\/07\/nth-2-768x463.png 768w\" sizes=\"(max-width: 916px) 100vw, 916px\" \/><\/a>\n<\/p>\n<p style=\"text-align: justify;\">\n\tThe <strong>-e<\/strong> (<strong>&#8211;extreme<\/strong>) option enables searching for hashes in a string. This mode will get 5d41402abc4b2a76b9719d911017c592 from ####5d41402abc4b2a76b9719d911017c592###.\n<\/p>\n<p style=\"text-align: justify;\">\n\tIn theory, the following two commands should give the same result:\n<\/p>\n<pre class=\"brush:bash;\">\r\nnth -t &#39;####5d41402abc4b2a76b9719d911017c592###&#39; -e\r\nnth -t &#39;5d41402abc4b2a76b9719d911017c592&#39;<\/pre>\n<p style=\"text-align: justify;\">\n\tBut they turned out differently for me. Therefore, use this mode rather as an experimental one.\n<\/p>\n<h2 style=\"text-align: justify;\">\n\tFree online hash type detection<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\tThe <a href=\"https:\/\/w-e-b.site\/?act=hashtag\" target=\"_blank\" rel=\"noopener\">Online hash type detection<\/a> service has existed for a long time. It works very simply &ndash; you enter a hash and you get a hash type. Previously, it relied on the <strong>hashID<\/strong> and <strong>HashTag<\/strong> utilities. Now the service has been updated and works with the <strong>HAITI<\/strong> and <strong>Name That Hash<\/strong> utilities &ndash; the most up-to-date tools for determining the type of hash.\n<\/p>\n<p style=\"text-align: justify;\">\n\tService address: <a href=\"https:\/\/w-e-b.site\/?act=hashtag\" target=\"_blank\" rel=\"noopener\">https:\/\/w-e-b.site\/?act=hashtag<\/a>\n<\/p>\n<h2 style=\"text-align: justify;\">\n\tConclusion<br \/>\n<\/h2>\n<p style=\"text-align: justify;\">\n\tAs you can see, it is difficult to choose which of the programs is better &ndash; HAITI or Name That Hash. You can use one or two. Or if you need JSON output or need API support or a library for defining hashes, then you can choose the one that best suits your needs.<\/p>\n\n<div style=\"font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;\"><\/div>","protected":false},"excerpt":{"rendered":"<p>In the article &ldquo;How to identify hash types&rdquo; we have already got acquainted with such utilities as hashID and HashTag, which determine the hash string by which algorithm it was calculated. The aforementioned tools still work, but the world does not stand still (and the development of these programs does<a href=\"https:\/\/miloserdov.org\/?p=6474\" class=\"read-more\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":6477,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[726,126,727,728,729],"class_list":["post-6474","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-password-attacks","tag-haiti","tag-hash","tag-hashid","tag-hashtag","tag-name-that-hash"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/posts\/6474"}],"collection":[{"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miloserdov.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6474"}],"version-history":[{"count":2,"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/posts\/6474\/revisions"}],"predecessor-version":[{"id":6483,"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/posts\/6474\/revisions\/6483"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/miloserdov.org\/index.php?rest_route=\/wp\/v2\/media\/6477"}],"wp:attachment":[{"href":"https:\/\/miloserdov.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miloserdov.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miloserdov.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}