鍍金池/ 問(wèn)答/C#  網(wǎng)絡(luò)安全  網(wǎng)絡(luò)營(yíng)銷  HTML/ 微信JSSDK簽名時(shí)的時(shí)間戳問(wèn)題

微信JSSDK簽名時(shí)的時(shí)間戳問(wèn)題

根據(jù) 微信JS-SDK說(shuō)明文檔 中 附錄1-JS-SDK使用權(quán)限簽名算法 中的描述(網(wǎng)址在這),在使用jssdk的時(shí)候,需要計(jì)算一個(gè)簽名,計(jì)算簽名的時(shí)候需要提供一個(gè)時(shí)間戳。

代碼是C#,我的理解,時(shí)間戳就是個(gè)數(shù)字,但是發(fā)現(xiàn)不是所有數(shù)字都能當(dāng)時(shí)間戳的,目前觀察的結(jié)論如下:

DateTime.Now.ToFileTime()
不可以

DateTime.Now.ToFileTime() / 10000
可以

DateTime.Today.ToFileTime()
可以

但是文檔并沒(méi)有說(shuō)什么樣的數(shù)字不可以,不知道有沒(méi)有知道的兄弟。

回答
編輯回答
挽歌

4個(gè)字節(jié)的數(shù)字都可以用來(lái)做時(shí)間戳(最大10位10進(jìn)制長(zhǎng)度數(shù)字)
你發(fā)的幾個(gè)方法返回值都太長(zhǎng)了

2018年2月19日 03:58
編輯回答
近義詞

建議用這個(gè):

TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds).ToString();
2017年7月30日 10:37