2016-12-14 3 views
3

Je vois des demandes à socket.io contenant le paramètre t pour être comme LZywzeV, LZz5lk7 et similaires. Tous les exemples que j'ai trouvés jusqu'à présent utilisent des horodatages UNIX basés sur la seconde ou la milliseconde.socket.io avec un format d'horodatage étrange (?)

Quelqu'un at-il déjà vu un format d'horodatage comme celui-ci? (Ce n'est pas encodé en base64).

Répondre

2

J'ai commencé à chercher un site qui utilise Socket.io aujourd'hui, et j'ai eu le même problème, en essayant de trouver la définition de protocole inutile.

Je figurés ce format est quelque chose appelé yeast

TBH, ne sais vraiment pas pourquoi les gens inventent ce genre de choses au lieu d'utilisation base64(timestamp.getBytes()) pseudocode à la place.

Un algorithme de décodage de la levure dans le python est la suivante:

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)) 

La sortie de ce code est:

1481712065055 
2016-12-14 07:41:05