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

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

Кодирование информации — процесс преобразования сигнала из формы, удобной для непосредственного использования информации, в форму, удобную для передачи, хранения или автоматической переработки. Это написания программного кода, скриптов, для вывода определённого алгоритма на определённом языке программирования.

Декодирование - обратное преобразование (восстановления содержания закодированной информации).




Хеширование методом MD5/SHA-1 и сумма по алгоритму CRC32

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

MD5 (англ. Message Digest 5) — 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом из Массачусетского технологического института (Massachusetts Institute of Technology, MIT) в 1991 году. Этот алгоритм разработан для замены менее надежного предшественника — MD4. Предназначен для создания «отпечатков» или дайджестов сообщения произвольной длины и последующей проверки их подлинности. Хеш содержит 128 бит (16 байт) и обычно представляется как последовательность из 32 шестнадцатеричных цифр. Широко применялся для проверки целостности информации и хранения паролей в закрытом виде. После этого MD5 стал использоваться для решения самых разных задач, от хеширования паролей в CMS до создания электронно-цифровых подписей и SSL-сертификатов. Алгоритм был впервые опубликован в апреле 1992 года в RFC 1321. Алгоритм MD5 уязвим к некоторым атакам, например возможно создание двух сообщений с одинаковой хеш-суммой, поэтому его использование не рекомендуется. Альтернативой являются алгоритмы семейства SHA-2.

Secure Hash Algorithm 1 — алгоритм криптографического хеширования. Описан в RFC 3174. Для входного сообщения произвольной длины (максимум {\displaystyle 2^{64}-1} 2^{64}-1 бит, что примерно равно 2 эксабайта) алгоритм генерирует 160-битное хеш-значение, называемое также дайджестом сообщения. Используется во многих криптографических приложениях и протоколах. Также рекомендован в качестве основного для государственных учреждений в США. Принципы, положенные в основу SHA-1, аналогичны тем, которые использовались Рональдом Ривестом при проектировании MD4.

Контрольная сумма (CRC8, CRC16, CRC32) — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении. Также контрольные суммы могут использоваться для быстрого сравнения двух наборов данных на неэквивалентность. Это может быть использовано, например, для обнаружения компьютерных вирусов. С точки зрения математики контрольная сумма является результатом хеш-функции, используемой для вычисления контрольного кода — небольшого количества бит внутри большого блока данных, например, сетевого пакета или блока компьютерного файла, применяемого для обнаружения ошибок при передаче или хранении информации. Циклический избыточный код (в частности, CRC8, CRC16, CRC32) применяется для проверки целостности передачи данных. Программы-архиваторы включают CRC исходных данных в созданный архив для того, чтобы получающий мог удостовериться в корректности полученных данных.

Текст:

СБРОС

Инструмент позволяет получить MD5 и SHA-1 хеш и вычислить контрольную сумму по алгоритму CRC32 любой строки. Вписываете в строку "Текст" слово которое нужно закодировать. Нажав на ХЕШИРОВАНИЕ получите результат кодирования на экран.




Декодирование хешей MD5 методом подборки пароля (брут форс)

Полный перебор (или метод «грубой силы», англ. brute force) — метод решения математических задач. Относится к классу методов поиска решения исчерпыванием всевозможных вариантов. Сложность полного перебора зависит от количества всех возможных решений задачи. Если пространство решений очень велико, то полный перебор может не дать результатов в течение нескольких лет или даже столетий.

Любая задача из класса NP может быть решена полным перебором. При этом, даже если вычисление целевой функции от каждого конкретного возможного решения задачи может быть осуществлено за полиномиальное время, в зависимости от количества всех возможных решений полный перебор может потребовать экспоненциального времени работы.

В криптографии на вычислительной сложности полного перебора основывается оценка криптостойкости шифров. В частности, шифр считается криптостойким, если не существует метода «взлома» существенно более быстрого чем полный перебор всех ключей. Криптографические атаки, основанные на методе полного перебора, являются самыми универсальными, но и самыми долгими.

Хеш MD5:
Символы:

Длиина слова: 1   2   3   4   5   6   7   8   9   ?(неизвестно)

СБРОС

Инструмент позволяет получить результат декодирования хеша MD5 любой сложности. В строку "Хеш MD5" вписываете хеш который нужно декодировать. В строку "Символы" вписываете те символы, из которых состоит закодированное слово или используете текущие. В строке "Длина слова" следует выбрать возможную длину искомого слова. Нажав на ДЕКОДИРОВАНИЕ получите результат в виде файла.




Генерация ворд листа

 

Символы:

Длина слова:1   2   3   4   5   6   7   8   9

СБРОС

В строку "Символы" вписываете символы, из которых нужно составить ворд лист или используете текущие. В строке "Длина слова", указываете длину составляемых слов. Нажав на ГЕНЕРАЦИЯ получите результат в виде файла.

! Внимание: Генерация листа из большого набора букв занимает более 15 минут. Если вы решили это сделать, не обновляйте страницу после нажатия на кнопку! А лучше такого не делать, мы вас забаним навсегда :(




Хэши наиболее часто используемых паролей

ПарольMD5 Хэш
0                   cfcd208495d565ef66e7dff9f98764da
000                 c6f057b86584942e415435ffb1fa93d4
007                 9e94b15ed312fa42232fd87a55db0d39
1                   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


Подбор пароля по md5 [php] скриптом

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

  
// Читаем пароли из файла password
  
$pass file("password.txt");
  foreach(
$pass as $password)
  {
    
// Замеряем время, затраченное на подбор пароля
    
$begin time();
    echo 
decrypt_md5(trim($password),"");
    
$end time();
    echo 
"  (На подбор затрачено ".($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;
    if(
strlen($answer) > $max_number) return;

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

Если пароль довольно прост, то с помощью этого скрипта можно довольно быстро его подобрать по md5 хешу. Например пароль длиной 5 символов, состоящий из цифр и латинских букв нижнего регистра, подбирался 10 минут.

ad0234829205b9033196ba818f7a872b cracked test2 (На подбор затрачено 755 секунд)

В целом массив я уже оформил, можно разве что добавить латинские символы большого регистра, что походу увеличит работу скрипта примерно в 2 раза, зато шансы подобрать пароль будут куда выше. При необходимости в скрипте можно настраивать максимальную длину подбираемого пароля, а также редактировать массив символов, используемых для подбора.

Код не претендует на супер сложность. Скрипт скорее для учебных целей, чем для практических.

Кстати: Hash сохраняется в корень директории в файл password.txt