Как я могу получить TOTP в свой код (запрос python -post) и добавить хэш-функциюPython

Программы на Python
Ответить
Anonymous
 Как я могу получить TOTP в свой код (запрос python -post) и добавить хэш-функцию

Сообщение Anonymous »

Итак, я работаю над этой задачей, и у меня возникли некоторые трудности. Я закончил первые две части этого трехчастного задания, но третья часть меня озадачила. Я только начал изучать Python и никогда раньше такого не видел, поэтому совершенно растерялся. Правила заключаются в том, чтобы создать строку JSON с моим адресом электронной почты, URL-адресом и языком кодирования. Это должно быть в теле почтового запроса. Почтовый запрос имеет следующие правила:
Content-Type: запроса должен быть application/JSON.
Authorization
URL-адрес защищен базовой HTTP-аутентификацией, которая описана в главе 2 RFC2617, поэтому вам необходимо предоставить поле заголовка Authorization: в вашем POST-запросе.
Для идентификатора пользователя базовой HTTP-аутентификации используйте тот же адрес электронной почты, который вы указали. строку JSON.
В качестве пароля укажите 10-значный одноразовый пароль, основанный на времени, соответствующий RFC6238 TOTP.
Пароль авторизации
Для создания пароля TOTP вам необходимо будет использовать следующую настройку:
Вы должны прочитать RFC6238 (и исправления ошибок тоже!) и самостоятельно получить правильный одноразовый пароль.
Временной шаг X TOTP: 30 секунд. T0 равен 0.
Используйте HMAC-SHA-512 для хеш-функции вместо HMAC-SHA-1 по умолчанию.
Общий секретный ключ токена — это идентификатор пользователя, за которым следует строковое значение ASCII «STRING» (не включая двойные кавычки).
Что у меня есть после долгих исследований:

Код: Выделить всё

import requests
import json
from requests.auth import HTTPBasicAuth
from base64 import b64encode

url = 'https://api.url.com'
payload = {
"github_url": "https://gist.github.com/gist-url",
"contact_email": "EMAIL",
"solution_language": "python"
}
userid = "EMAIL"
name = "STRING"
shared_secret = userid+name
timestep = 30
T0 = 0
header = {"Content-type": "application/json",
"Authorization": "Basic {}".format(
b64encode(bytes(f"{userid}:{name}", "utf-8")).decode("ascii"))
}
r = requests.post(url, data=json.dumps(payload), headers=header)

Я делаю это в PYCHARM, потому что это то, что я использую в своем уни-классе, если это имеет значение. Я не понимаю, как использовать TOTP (и что это такое, если честно) и хэш-функцию, чтобы это работало. Прямо сейчас, если я запущу это в pycharm, я ничего не получу взамен.

Подробнее здесь: https://stackoverflow.com/questions/776 ... h-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»