delvin-fil
@delvin-fil
Crazy Linux-admin

Не понял как сделать MD5 uuid + pass?

На narodmon.ru в справочнике по REST API сказано:
* Для доступа к данным ваших приватных датчиков вне вашей локальной сети требуется однократная авторизация (userLogon).

userLogon - авторизация пользователя в проекте или его регистрация
Параметры запроса:
- login логин пользователя для авторизации, если он не указан, то возвращается текущий логин для указанного uuid;
- hash хэш для авторизации, вычисляется по формуле с объединением строк MD5(uuid + MD5(введенный пароль)), если хэш не указан, то считается запросом на регистрацию в проекте по email/sms.

curl Пример запроса REST(GET):
http://narodmon.ru/api/userLogon?login=MyName&hash=MD5HASH&uuid=UUID&api_key=API_KEY&lang=ru

делаю:

import hashlib

password = 'parole'
password_bytes = password.encode('utf-8')
passmd5 = hashlib.md5(password_bytes).hexdigest()
print(passmd5)
uuid = '6666666666666666666666666'
uuidbytes = uuid.encode('utf-8')
uuidmd5 = hashlib.md5(uuidbytes).hexdigest()
print(uuidmd5)
allhash = f'{uuidmd5}{passmd5}'
uuidbytes = allhash.encode('utf-8')
allbytes = hashlib.md5(uuidbytes).hexdigest()
print(allbytes)

вставляю в строку для curl и получаю ошибку

как правильно стелать?
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kaka888
C, C++, Qt, Python Flask, MySQL, Lua
В доках указана следующая формула:
MD5(uuid + MD5(password))

В твоём коде использована иная формула:
MD5(MD5(uuid) + MD5(password))

Не надо считать хеш отдельно из uuid.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы