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

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

14.06.2022, 15:15. Показов 1422. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru