0 / 0 / 0
Регистрация: 29.03.2020
Сообщений: 59

Метод грубой силы (метод полного перебора)

25.09.2023, 16:04. Показов 2052. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание состоит из того, что нужно сперва захешировать строку EE14C41E92EC5C97B54CF9B74E25B с помощью алгоритма MD5, а потом при помощи метода грубой силы найти PIN-код карты, состоящий из 4 цифр.

Дана строка EE14C41E92EC5C97B54CF9B74E25B.
Задания:
1. С помощью алгоритма MD5 захешировать строку, что у меня получилось.
2. Эта строка хеш-функции шифрует PIN-код карточки банковской. Известно, что он состоит из 4-х цифр. Нужно с помощью метода грубой силы найти этот PIN-код. Тут как не пытался, пин-код не находит совсем.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import hashlib     
 
 
sSourceData = "EE14C41E92EC5C97B54CF9B74E25B"
# Создаётся массив байтов из входных данных
tmpSource = sSourceData.encode('ascii')
 
# Выполнется расчёт хеша входных данных
tmpHash = hashlib.md5(tmpSource).hexdigest()  
print(f"{tmpHash} Len = {len(tmpHash)}")
 
# Реализация метода грубой силы для поиска пин-кода
digits = "1234567890"
 
target_hash = sSourceData.lower()  
for d1 in digits:
    for d2 in digits:
        for d3 in digits:
            for d4 in digits:
                pin = f"{d1}{d2}{d3}{d4}"
                pin_hash = hashlib.md5(pin.encode('ascii')).hexdigest()
                if pin_hash == target_hash:
                    print(f"Найденый PIN-код: {pin}")
                    break
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.09.2023, 16:04
Ответы с готовыми решениями:

Метод грубой силы при обработке графов
Всем привет! Вот условие задачи: дано около 20 топологий графа (две наиболее простых и понятных приведены на рисунке -...

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

Метод полного перебора
Доброго времени суток ! Задали сделать курсовой в маткаде " определить абсолютный максимум функции отклика процесса методом полного...

6
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
25.09.2023, 17:15
Farewell Shizue, Тоже не находит.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from hashlib import md5
from string import digits
from itertools import product
 
source_data = "EE14C41E92EC5C97B54CF9B74E25B"
source_hash = md5(source_data.encode()).hexdigest()
 
print(source_data.encode())
print(source_hash)
 
for pin in product(digits, repeat=4):
    if md5(''.join(pin).encode()).hexdigest() == source_hash:
        print(pin)
        break
Добавлено через 19 минут
Farewell Shizue, Вообще, мне кажется, что с заданием что-то "не так".
Осмелюсь предположить, что данная строка ("EE14C41E92EC5C97B54CF9B74E25B"), это и есть искомый хэш.
И надо найти комбинацию из четырех цифр (PIN), хэш-ем которой она является.

Единственная загвоздка в том, что длина MD5 = 32 байта. А данная строка имеет длину 29 байт =(
1
0 / 0 / 0
Регистрация: 29.03.2020
Сообщений: 59
25.09.2023, 17:26  [ТС]
Думаю, нужно захешироать все-таки эту строку, получится хеш из 32-х символов и потом найти из этого хеша пин-код
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
25.09.2023, 17:30
Цитата Сообщение от Farewell Shizue Посмотреть сообщение
Думаю, нужно захешироать все-таки эту строку, получится хеш из 32-х символов и потом найти из этого хеша пин-код
Ок, т.е. вы предполагаете, что хэш строки "EE14C41E92EC5C97B54CF9B74E25B" должен совпасть с хэшем какой-либо строки из диапазона от "0000" до "9999" включительно?

Но вроде мы это только что эмпирически выяснили, в коде выше, что это не так.

Причем у вас в строках 15 и 22 ошибка. Вы как раз пытаетесь сравнить хэш пин-кода преобразованного в строку, с искомой строкой приведенной к нижнему регистру.

Вам надо сравнивать pin_hash и tmpHash, а у вас там target_hash который равен sSourceData.lower().
1
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
25.09.2023, 20:00
Цитата Сообщение от Farewell Shizue Посмотреть сообщение
Дана строка EE14C41E92EC5C97B54CF9B74E25B.
Это не строка. Это хэш без 3 последних цифр.
Искомый пин: 3522

Цитата Сообщение от anton78spb Посмотреть сообщение
Единственная загвоздка в том, что длина MD5 = 32 байта. А данная строка имеет длину 29 байт =(
MD5 - это 16 байт. Один байт (0-255) кодируется 2-мя 16-ричными цифрами.
3
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
25.09.2023, 21:20
Лучший ответ Сообщение было отмечено Farewell Shizue как решение

Решение

Цитата Сообщение от Red white socks Посмотреть сообщение
Это не строка. Это хэш без 3 последних цифр.
Было у меня такое предположение, проверить совпадение первых 29 символов, но надо было убегать с работы, не успел.
Цитата Сообщение от Red white socks Посмотреть сообщение
MD5 - это 16 байт. Один байт (0-255) кодируется 2-мя 16-ричными цифрами.
Да, все верно, описался.

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
9
10
from hashlib import md5
from string import digits
from itertools import product
 
source_data = "EE14C41E92EC5C97B54CF9B74E25B".lower()
 
for pin in product(digits, repeat=4):
    if md5(''.join(pin).encode()).hexdigest()[:29] == source_data:
        print(*pin)
        break
Code
1
2
3
4
5
3 5 2 2
 
 
** Process exited - Return Code: 0 **
Press Enter to exit terminal
Добавлено через 7 минут
Или вот так.
Python
1
2
3
4
5
6
7
8
9
10
from hashlib import md5
from string import digits
from itertools import product
 
source_data = "EE14C41E92EC5C97B54CF9B74E25B".lower()
 
for pin in product(digits, repeat=4):
    if source_data in md5(''.join(pin).encode()).hexdigest():
        print(*pin)
        break
2
Любознательный
 Аватар для YuS_2
7406 / 2260 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
26.09.2023, 12:02
Меня терзают смутные сомнения

А точно, обсуждение брутфорса (восстановление пин-кода по хэш), не противоречит правилам форума?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.09.2023, 12:02
Помогаю со студенческими работами здесь

Метод полного перебора
Pascal ABC В копилке находится N монет различных достоинств общим весом G граммов. Вес каждой монеты определенной стоимости дан в...

Задача на метод полного перебора
В обозначении (a)x буква x представляет основание системы счисления, а буква a – число, записанное в соответствующей системе. Напишите...

Задача на метод полного перебора
Составить алгоритм и программу поиска пары точек, расстояние между которыми наименьшее (не нулевое!) способом полным перебором. Количество...

Задача коммивояжера,метод полного перебора
Мне нужна написать программу, которая решает задачу коммивояжера (метод полного перебора) на C# или C++ или Си или Pascal.Кто чем может...

Метод полного перебора. Задача о назначениях
Всем привет, ребят очень нужна помощь в решении задачи!!! Нужно написать код программы на с#, где будет реализован алгоритм "полного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru