2016-12-14 12 views
3

Я вижу запросы к socket.io, содержащему параметр t, как LZywzeV, LZz5lk7 и тому подобное.socket.io со странным временным штампом (?)

Все примеры, которые я использовал до сих пор, используют временные метки UNIX, основанные на секундах или миллисекундах.

Кто-нибудь когда-либо видел формат временной шкалы? (Он не закодирован в base64).

ответ

2

Я начал искать сайт, который сегодня использует Socket.io, и получил ту же проблему, пытаясь найти определение протокола, было бесполезно.

я понял, этот формат является то, что называется yeast

ТВН, на самом деле не знаю, почему люди придумывают такого рода вещей, вместо использования base64(timestamp.getBytes()) псевдокод вместо этого.

Дрожжевой алгоритм декодирования в Python выглядит следующим образом:

from datetime import datetime 

a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_' 
b={a[i]: i for i in range(len(a))} 

c=0 
for d in "LZywzeV": 
    c=c*64+b[d] 

print(c) 
print(datetime.fromtimestamp(c/1000)) 

Выходной сигнал этого кода:

1481712065055 
2016-12-14 07:41:05