Как зашифровать пароль для Tuya Smart Lock Open API

Имейте в виду, что я очень новичок и потерялся, когда дело доходит до кодирования.

Я пытаюсь создать временный замок для смарт-замка, который использует приложение Tuya с помощью Postman. В настоящее время я застрял на пароле, так как он требует его шифрования. требования к паролю от tuya В нем говорится, что мне нужно расшифровать «ticket_key» (который я получаю через запрос «Получить временный ключ для шифрования пароля») с помощью «accessKey». Может ли кто-нибудь помочь мне найти этот ключ доступа и объяснить, как я должен шифровать и расшифровывать (мне нужно создать для него программу или она уже доступна).

Заранее спасибо!

Я пытался использовать ChatGPT, чтобы написать мне программу, которая шифрует и расшифровывает, но не смог получить из нее ничего полезного.

1 ответ

Я столкнулся с аналогичной проблемой и сумел добиться желаемого результата с помощью программы JavaScript. Ниже приведены шаги, которые я выполнил, которые также можно выполнить, используя только Postman и онлайн-инструменты:

  1. Получите токен доступа:

    • Конечная точка: /v1.0/token?grant_type=1(метод ПОЛУЧИТЬ)
    • Описание: Получите токен доступа от API Tuya, необходимый для аутентификации и авторизации для выполнения дальнейших запросов.
  2. Запросить ключ доступа:

    • Конечная точка: /v1.0/devices/[device_id]/door-lock/password-ticket(метод POST)
    • Описание: используйте полученный токен доступа для запроса ключа доступа (или билета пароля) у API Tuya, необходимого для создания нового пароля дверного замка.
  3. Расшифровать ключ доступа:

    • Описание: Расшифруйте полученный ключ билета с помощью https://www.lddgo.net/en/encrypt/aes. Используйте следующие настройки: Mode=ECB, Padding=pkcs7padding, Формат ввода=Hex, Формат вывода=String, Пароль=Секрет клиента вашего проекта Tuya (подробнее см. https://support.tuya.com/en/help/_detail/Kasgyvlkrcufp), Кодировка=UTF-8.
  4. Зашифровать пин-код:

    • Описание: Зашифруйте выбранный 7-значный пин-код, используя тот же онлайн-инструмент, что и выше. Измените пароль на расшифрованное значение из предыдущего шага: формат ввода = строка, формат вывода = шестнадцатеричный.
  5. Создать пароль:

    • Конечная точка: /v1.0/devices/[device_id]/door-lock/temp-password(метод POST)
    • Описание: Отправьте зашифрованный пин-код с дополнительными необходимыми данными (действительный и срок действия пароля) в API Tuya. Это для создания временного пароля для дверного замка. В тексте запроса укажите зашифрованный пин-код в качестве «пароля», Ticket_id из шага 2 и временные метки эффективного и недействительного времени, как показано в этом примере.

    { "пароль": "9c63efba8fb57e89319dff9117d3765a", "password_type": "ticket", "ticket_id": "cNOYOdpM", "efficient_time": 1701187200000, "invalid_time": 1701360000000, "name": "test666", "time_zone": " " }

Примечание. Пользователям Postman рекомендуется использовать коллекцию Postman с https://developer.tuya.com/en/docs/iot/set-up-postman-environment?id=Ka7o385w1svns. Эта коллекция включает предварительно написанный код JavaScript, который вычисляет значение знака для каждого запроса.

Другие вопросы по тегам