在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ 一般 token 是根據(jù)什么來(lái)加密的?

一般 token 是根據(jù)什么來(lái)加密的?

token 是一串不規(guī)則的字符串,一般來(lái)說(shuō)是根據(jù)什么來(lái)加密得到的?比如說(shuō)用戶 id,url 等,有沒(méi)有一套成熟的方案?

回答
編輯回答
醉淸風(fēng)

使用JWT 生成token

2017年2月10日 01:33
編輯回答
初心

tocken 其實(shí)相當(dāng)于一個(gè)字符串,根據(jù)某個(gè)頁(yè)面的url作為鍵名,通過(guò)某個(gè)規(guī)則形成的字符串作為鍵值存放到session中,然后將鍵值傳到頁(yè)面隱藏,請(qǐng)求的時(shí)候帶上這個(gè)值在后端進(jìn)行驗(yàn)證,后端獲取頁(yè)面的url當(dāng)做鍵值, 穿過(guò)來(lái)的值當(dāng)鍵值,符合session驗(yàn)證則通過(guò)驗(yàn)證。

2017年9月13日 17:34
編輯回答
話寡

token 關(guān)鍵就是,永遠(yuǎn)不重復(fù)。如果你的算法用id,url當(dāng)作因子可以滿足這個(gè)條件,那你就用唄。話說(shuō)uuid不好用?

2017年4月12日 23:05
編輯回答
喜歡你

具體可以參考下分布式ID生成器的開源項(xiàng)目 snowflake
結(jié)構(gòu)
snowflake的結(jié)構(gòu)如下(每部分用-分開):

0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000

第一位為未使用,接下來(lái)的41位為毫秒級(jí)時(shí)間(41位的長(zhǎng)度可以使用69年),然后是5位datacenterId和5位workerId(10位的長(zhǎng)度最多支持部署1024個(gè)節(jié)點(diǎn)) ,最后12位是毫秒內(nèi)的計(jì)數(shù)(12位的計(jì)數(shù)順序號(hào)支持每個(gè)節(jié)點(diǎn)每毫秒產(chǎn)生4096個(gè)ID序號(hào))

一共加起來(lái)剛好64位,為一個(gè)Long型。(轉(zhuǎn)換成字符串后長(zhǎng)度最多19)

snowflake生成的ID整體上按照時(shí)間自增排序,并且整個(gè)分布式系統(tǒng)內(nèi)不會(huì)產(chǎn)生ID碰撞(由datacenter和workerId作區(qū)分),并且效率較高。經(jīng)測(cè)試snowflake每秒能夠產(chǎn)生26萬(wàn)個(gè)ID。

2018年5月12日 14:17
編輯回答
互擼娃

很多方式,md5、哈希。這些算法還可以交叉使用 達(dá)到增加破解時(shí)間的目的

2018年3月30日 08:35
編輯回答
別硬撐

用戶id,和用戶名

2017年10月7日 12:54
編輯回答
夢(mèng)囈

誰(shuí)知道你說(shuō)的 token 是什么東西啊……

>>> import uuid
>>> uuid.uuid4().hex
'4e4c469e784c4a30baae469358ca34da'
>>> 

這也是不規(guī)則的字符串。

2018年3月18日 12:57