2016-12-14 36 views
3

我看到請求socket.io包含參數t像LZywzeV,LZz5lk7和類似。socket.io與奇怪的時間戳格式(?)

到目前爲止我發現的所有例子都使用基於秒或毫秒的UNIX時間戳。

有沒有人見過這樣的時間戳格式? (它不是base64編碼的)。

回答

2

我開始看一個今天使用Socket.io的網站,並得到了同樣的問題,試圖尋找協議定義是沒用的。

我想這種格式是一種叫做yeast

TBH,真不知道爲什麼人們發明了這種東西,而不是使用 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