This page has been robot translated, sorry for typos if any. Original content here.

Coding and Decoding of MD5 / SHA-1 / CRC32, Brutus Force, Generate Word List Online

Кодинг и Декодинг MD5/SHA-1, CRC32 суммы, Брут форс, Генерация ворд листа

Information coding is the process of converting a signal from a form convenient for direct use of information into a form convenient for transmission, storage or automatic processing. This is writing software code, scripts, to display a specific algorithm in a specific programming language.

Decoding - the inverse transformation (recovery of the content of the encoded information).

MD5 / SHA-1 hashing and CRC32 sum

Кодинг и Декодинг MD5/SHA-1, CRC32 суммы, Брут форс, Генерация ворд листа

MD5 (English Message Digest 5) is a 128-bit hashing algorithm developed by 1991 from Professor Ronald L. Rivest of Massachusetts Institute of Technology (Massachusetts Institute of Technology, MIT). This algorithm is designed to replace the less reliable predecessor - MD4. Designed to create "prints" or digests messages of arbitrary length and then verify their authenticity. The hash contains 128 bits (16 bytes) and is usually represented as a sequence of 32 hexadecimal digits. Widely used to verify the integrity of information and storing passwords in a locked form. After that, MD5 was used to solve various tasks, from hashing passwords in a CMS to creating digital signatures and SSL certificates. The algorithm was first published in April 1992 in RFC 1321. The MD5 algorithm is vulnerable to certain attacks, for example, it is possible to create two messages with the same hash sum, so its use is not recommended. An alternative are algorithms of the SHA-2 family.

Secure Hash Algorithm 1 - a cryptographic hashing algorithm. Described in RFC 3174. For an input message of arbitrary length ( maximum {\ displaystyle 2 ^ {64} -1} 2 ^ {64} -1 bits, which is approximately 2 exabytes ), the algorithm generates a 160-bit hash value, also called a digest messages. Used in many cryptographic applications and protocols. Also recommended as a major for government agencies in the United States. The principles underlying SHA-1 are similar to those used by Ronald Rivest in the design of MD4.

A checksum (CRC8, CRC16, CRC32) is a value calculated from a data set using a specific algorithm and used to check the integrity of data during transmission or storage. Checksums can also be used to quickly compare two datasets for non-equivalence. This can be used, for example, to detect computer viruses. Mathematically, a checksum is the result of a hash function used to calculate a control code — a small number of bits within a large data block, such as a network packet or a computer file block, used to detect errors in the transmission or storage of information. Cyclic redundancy code ( in particular, CRC8, CRC16, CRC32 ) is used to verify the integrity of data transmission. Archiver programs include the CRC of the source data in the created archive so that the recipient can verify the correctness of the received data.



The tool allows you to get MD5 and SHA-1 hash and calculate the checksum using the CRC32 algorithm of any string. Enter the word you want to encode in the "Text" line. Clicking on HASH will get the result of coding on the screen.

MD5 hashes decoding using the password pickup method (brute force)

A complete search (or the “brute force” method, English brute force) is a method for solving mathematical problems. Refers to a class of methods for finding solutions exhaustion of all sorts of options. The complexity of a complete search depends on the number of all possible solutions to the problem. If the solution space is very large, a complete brute force may not produce results for several years or even centuries.

Any problem from the NP class can be solved by exhaustive search. At the same time, even if the calculation of the objective function of each specific possible solution of the problem can be carried out in polynomial time, depending on the number of all possible solutions, a complete search may require exponential operating time.

In cryptography, the computational complexity of complete enumeration is based on the evaluation of the cryptographic strength of ciphers. In particular, a cipher is considered cryptographic, if there is no “hacking” method that is significantly faster than a full search of all keys. Cryptographic attacks based on the brute force method are the most versatile, but also the longest.

MD5 hash:

Word length: 1 2 3 four five 6 7 eight 9 ? (unknown)


The tool allows you to get the result of decoding MD5 hash of any complexity. In the string "MD5 hash" enter the hash that you want to decode. In the string "Symbols" enter those characters that make up the encoded word or use the current ones. In the line "The length of the word" should choose the possible length of the desired word. Clicking on DECODING will get the result as a file.

Word sheet generation


Word length: 1 2 3 four five 6 7 eight 9


In the "Symbols" line, enter the characters from which you need to create a Word list or use the current ones. In the line "Word length" , specify the length of the words. Clicking on GENERATION will get the result as a file.

! Note: Generating a sheet from a large set of letters takes more than 15 minutes. If you decide to do this, do not refresh the page after clicking on the button! And it's better not to do this, we will ban you forever :(

Hash the most commonly used passwords

Password MD5 Hash
0 cfcd208495d565ef66e7dff9f98764da
000 c6f057b86584942e415435ffb1fa93d4
007 9e94b15ed312fa42232fd87a55db0d39
one c4ca4238a0b923820dcc509a6f75849b
111 698d51a19d8a121ce581499d7b701668
123 202cb962ac59075b964b07152d234b70
123456 e10adc3949ba59abbe56e057f20f883e
123123 4297f44b13955235245b2497399d7a93
12345 827ccb0eea8a706c4c34a16891f84e7b
qwe 76d80224611fc919a5d54f0ff9fba446
qweqwe efe6398127928f1b2e9ef3207fb82663
asd 7815696ecbf1c96e6894b779456d330e
asdasd a8f5f167f44f4964e6c998dee827110c
asdf 912ec803b2ce49e4a541068d495ab570
zxc 5fa72358f0b4fb4f2c5d7de8c9a41846
zxczxc ecb97ffafc1798cd2f67fcbc37226761
zxcvb eb89f40da6a539dd1b1776e522459763
zxcvbn b427ebd39c845eb5417b7f7aaf1f9724
zxcv fd2cc6c54239c40495a0d3a93b6380eb
admin 21232f297a57a5a743894a0e4a801fc3
administrator 200ceb26807d6bf99fd6f4f0d1ca54d4
Admin e3afed0047b08059d0fada10f400c1e5
Administrator 7b7bc2512ee1fedcd76bdc68926d4f7b
gfhjkm d9d1b168eac8f197e0576b56cfc23ece
flvby 3a28525729392f0746380a44b200bb21
flvbybcnhfnjh 8b7d272b7b9177fcac0d38aa06f4ab99
gfhjkm d9d1b168eac8f197e0576b56cfc23ece
ghbdtn 2a3dfa66c2d8e8c67b77f2a25886e3cf
qwerty d8578edf8458ce06fbc5bb76a58c5ca4
test 098f6bcd4621d373cade4e832627b4f6
pass 1a1dc91c907325c69271ddf0c944bc72
vfif f86eb133aea0114a01595cac67dbcb17
lbvf 40f1b6d9156fb4c5c93c60b79667c0b7
ybrbnf 79f0c81692f7d073c7d5f713b78124eb
dfcz d9d53ccc12ebe52f20aca9077a992b09
gfif cb7347eb95885a2f1ef3036057bfe2b5
google c822c1b63853ed273b89687ac505f9fa
ueukm fee2125a43bcb6e04814160d4ea0dccd
vjcrdf 4ada42a5a7ca1ffff1632a6f812f0599
Vjcrdf 77af9af7ebfba6070e0b29d34d4d5327
fhfrelf 464f677bc2a846d08cb5c64bc63c1dee
frekf 94b1c676abcd33c1af912cdc0bd84958
zyltrc f2e1189d0d738b2d692a76685b949e5a
gbljhfcs 1b281e2f8ae07815a00de53192d618aa
ehjls 10cab130d6d53689e0c7f60c094431f6
kzlm 985a1978be91d7abfb7065bb15c91a61
kby ff7087f014ceb8d7a48b5f9dff09e876
rfr ltkf 2e4dc7d9e7e84a08507443fc046adf30
lehfr b35217036f336fe4c686b52685c2d2c6
lehf 4233c3889e28db97475d062682e91f53
cbcntvf 21881c7e863d8db5770ed0904b15e624
; jgf d3f47852e1445cba95855825b789ce02
gfhjkmxbr 987cadce9ef28e63f7cdba0b66eb1371

Password selection by md5 [php] script

// Устанавливаем неограниченное время выполнения скрипта
set_time_limit ( 0 );

// Читаем пароли из файла password
$pass = file ( "password.txt" );
$pass as $password )
// Замеряем время, затраченное на подбор пароля
$begin = time ();
decrypt_md5 ( trim ( $password ), "" );
$end = time ();
" (На подбор затрачено " .( $end - $begin ). " секунд) <br>" ;

// Функция посимвольного перебора пароля
// $pass - расшифровываемый пароль
// $answer - текущий ответ, при первом вызове - пустая строка
function decrypt_md5 ( $pass , $answer )
$arr = array( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' ,
'g' , 'h' , 'i' , 'j' , 'k' , 'l' ,
'm' , 'n' , 'o' , 'p' , 'q' , 'r' , 's' ,
't' , 'u' , 'v' , 'w' , 'x' , 'y' , 'z' );
// Будем считать, что пароль не превышает
// 4 символов
$max_number = 3 ;
strlen ( $answer ) > $max_number ) return;

$j = 0 ; $j < count ( $arr ); $j ++)
$temp = $answer . $arr [ $j ];
md5 ( $temp ) == $pass ) return $temp ;
// Рекурсивно вызываем фукнцию для увеличения
// длины подбираемого пароля
$result = decrypt_md5 ( $pass , $temp );
// Если функция возвращает непустую строку,
// следовательно, найден ответ и дальше искать
// не следует
if( strlen ( $result ) > 0 ) return $result ;

If the password is quite simple, then using this script you can quickly pick it up by md5 hash. For example, a password 5 characters long, consisting of numbers and lowercase Latin letters, was chosen for 10 minutes.

ad0234829205b9033196ba818f7a872b cracked test2 (755 seconds to pick up)

In general, I have already designed the array, you can only add Latin characters of a large register, which will increase the work of the script by about 2 times, but the chances of choosing a password will be much higher. If necessary, the script can customize the maximum length of the password to be picked up, as well as edit the array of characters used for the selection.

The code does not claim to super complexity. The script is more for training purposes than for practical ones.

By the way: Hash is saved to the root of the directory in the file password.txt