Данные байт-кода Python urldecode urlencodedPython

Программы на Python
Ответить
Anonymous
 Данные байт-кода Python urldecode urlencoded

Сообщение Anonymous »

Полезная нагрузка содержит тег HMAC, а также одноразовый номер для AES. Результат печати тега и nonce на стороне клиента (например):

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

#tag:  b'=x\x9d{_0\xf9;c8\x94inc]\xb1'
#nonce:  b'\x1f\xf4\xbe\xcc\xf2\x84f\xf2*\x8dP\x16\xc8\x02\xfe\xbe'

requests.post(url, data=payload, headers={"Content-Type": "application/octet-stream"}, verify="myShnazzyCertificate.pem")
На стороне сервера мой маршрут API flask получает тег и одноразовый номер, которые, очевидно, были закодированы в urlencode:

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

data = flask.request.data
## stuff happens here, then -> print("tag: ", tag); print("nonce: ", nonce)
#tag:  b'%3Dx%9D%7B_0%F9%3Bc8%94inc%5D%B1'
#nonce:  b'%1F%F4%BE%CC%F2%84f%F2%2A%8DP%16%C8%02%FE%BE'
Как удалить urlencoding (или предотвратить его?), сохранив при этом тег и nonce в виде байт-кода? Я пробовал:

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

tag = tag.replace(b"%", bytes(r"\x".encode("utf-8")))
nonce = nonce.replace(b"%", bytes(r"\x".encode("utf-8")))
Но проверка HMAC не удалась, поскольку в теге есть "{", а в nonce есть "*", который также был закодирован, поэтому мне нужно что-то более исчерпывающее.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ecode-data
Ответить

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

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

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

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

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