Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 32

Хэширование пароля

14.06.2022, 15:15. Показов 1386. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая запрашивает у пользователя пароль и выдает пользователю хэш этого пароля. Затем программа проверяет, присутствует ли этот хэш в базе данных утекших паролей. Если да, то программа выводит пользователю количество вхождений и просит ввести новый пароль, если нет, то пишет, что пароль правильный и завершает работу.

Пример работы программы:

Пожалуйста, введите пароль для подтверждения: dsfsd
Хэш вашего пароля: 6BC86383D9369BA9E85855EAE96EBCC7C9551014
Пароль появляется 120 раз в базе данных утекших паролей.
Пароль не совпадает. Выберите новый пароль.

Пожалуйста, введите пароль для подтверждения: sdfsfsdfsdfsd
Хэш вашего пароля: 6CF12B7C7C922836062442987B3BDEE5F8A75E29
Пароль появляется 19 раз в базе данных утекших паролей.
Пароль не совпадает. Выберите новый пароль.

Пожалуйста, введите пароль для подтверждения: ps8dyfsdyhsdiufhsd
Хэш вашего пароля: F6B171F68FF8629211CAE22E2E1D808C43BA9822
Пароль появляется 0 раз в базе данных утекших паролей.
Пароль правильный.

Возможный алгоритм работы программы:

1. Попросите пользователя ввести пароль.
2. Преобразовать пароль в хэш алгоритмом sha-1, используя кодировку utf-8.
3. Вырезать из хеша первые 5 символов и сделать запрос к серверу.
4. Отправить запрос на сервер и получить ответ от сервера.
5. Сделайте необходимые преобразования с ответом, чтобы конечный результат был в виде информации, которую мы можем пройти в цикле.
6. Проверяем, есть ли наш хеш в списке полученных хэшей.
7. Если да, то мы выведем количество появлений и запросим новый пароль, если нет, то прекратим работу.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2022, 15:15
Ответы с готовыми решениями:

Шифрование и хэширование
У меня есть сообщение, которое я пересылаю по сети. Предварительно я его хэширую через "hashlib.pbkdf2_hmac". Нужно ли мне...

Хэширование цепочками
Реализовать хэширование цепочками, используя таблицу с m ячейками и полиномиальной хэш-функцией на строках: h(S)=(∑_(i=0)^(|S|-1)▒〖S x^i ...

Шифрование (хэширование в md5) каждой строчки словаря в отдельный .txt
Доброго времени суток! Я начинающий в python3 и мне нужна помощь. Передо мной поставили задачу: Надо написать на python3 программку,...

6
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.06.2022, 15:56
Ну и?
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 32
14.06.2022, 16:06  [ТС]
Хэширование сделал, запрос не получается

Python
1
2
3
4
5
6
7
8
9
import hashlib
 
 
def salted_password():
    password = input('Sisestage palun salasõna kontrollimiseks: ')
    s_password = hashlib.sha1(password.encode('utf-8')).hexdigest()
    print(s_password)
 
salted_password()
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.06.2022, 16:18
Адрес сервера и формат запроса знаете?
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 32
14.06.2022, 16:32  [ТС]
Адрес сервера : https://haveibeenpwned.com/API... rdsByRange
Запрашивает 5 символами из хеша и пример запроса : https://api.pwnedpasswords.com/range/12345
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
14.06.2022, 17:03
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import hashlib
import requests
 
def salted_password():
    password = input('Sisestage palun salasõna kontrollimiseks: ')
    return hashlib.sha1(password.encode('utf-8')).hexdigest().upper()
 
hash_pwd = salted_password()
s_query = u'https://api.pwnedpasswords.com/range/{}'.format(hash_pwd[:5])
 
try:
    pwd_list = requests.get(s_query)
 
    # ваши действия с результатом запроса
 
except requests.exceptions.ConnectionError:
    print('Нет соединения с сервером.')
1
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 32
14.06.2022, 17:13  [ТС]
Благодарю, а еще не подскажите как получить такой ответ от сервера (Пароль появляется 19 раз в базе данных утекших паролей.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2022, 17:13
Помогаю со студенческими работами здесь

Хэширование пароля
Добрый день, сделал что бы при регистрации на сайте пароли хэшировались (md5), как при авторизации реализовать теперь проверку пароля?...

Хэширование пароля
Здравствуйте, люди добрые. Помогите нубу, имеется php скприпт, который обрабатывает пароль и сохраняет его в базу данных, каким образом в...

Хэширование пароля
Добрый вечер. Есть рабочая программа. Необходимо, чтобы пароль добавлялся в базу данных хешированным (md5). Нужна помощь с реализацией....

Хэширование пароля
Встала задача хранить пароли авторизации пользователей в хэш виде. Почитал в Интернете, понял, что md5 полностью устарел, что лучше всего...

Хэширование пароля - Сгенерированные пароли не выводятся на консоль
Здравствуйте. Подскажите пожалуйста почему сгенерированные пароли не выводятся на консоль. Где их можно посмотреть? import...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru