This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
This is a simple C++ software to recover a password
for SHA-1 hash. It is performing a brute-force attack.
Complexity: It is a simple brute-force algorithm, so the complexity increases exponentially with the size of the password.
Multithreading: On a N_CORE computer, if SEQTIME is the maximum time when launched with one thread, then the maximum time is SEQTIME / N_TREAD when N_THREAD < N_CORE and SEQTIME / N_CORE when N_THREAD > N_CORE
You need GCC < 8, Boost and Libtomcrypt for the program itself and git to download it. The restriction on GCC comes from an incompatibility between GCC 8 and Boost. On Ubuntu,
Modify the parameters in
HASH: The SHA-1 hash. Two accepted formats:
MaxLength: Maximum length of the password to test.
N_THREAD: Number of threads to launch. The program will launch at most a number of thread corresponding to the number of character to test. In other words, the length of list. In this case, it is 95.
You can use the Makefile as it is,
but I recommend to add the flags specific to your architecture.
Also, you can profile the code with the following steps.
Set the variable
main.cpp. For example, change line 91
-fprofile-generateto the variable
CCin the Makefile. Clean objects in case already compile before and recompile with the new flag.
main.cppto reverte back
""otherwise the SHA-1 hash that you want to crack will be ignore. Modify the variable
CCin the Makefile to substitute
-fprofile-use -fprofile-correction. Finally, clean the objects to enforce recompiling all of them using the profile
Then compile with
Launch it with
You can safely clean the temporary objects with
I am Dr Clément Février, French, living in Grenoble. I defended my PhD on July 4th, 2016. After my defense I run as deputy deputy (not a typo) for the national parliamentary elections in the 1st circonscription of Isère for the political movement La France Insoumise.
"Retraite et climat, même combat ?" par @onestlatech
"Violences conjugales: la galère d’une ex-femme de policier convoquée au tribunal" à lire sur Mediapart