Token生成算法主要有以下幾種:
單Token:常用的加密算法有UUID、雪花算法和JWT算法。UUID是由一組32位數的16進制數字所構成的全世界通用唯一識別碼,它是由你的網卡+隨機數+currentTime進行算法生成。JWT算法是基於RSA非對稱加密算法,由隨機生成的keyId結合JWT庫的jose4j,生成一對唯一的publicKey和privateKey。
對稱加密:Token = 對稱加密([用戶ID,時間戳...], 密鑰)。密鑰是保密的,只存在於伺服器上,Token 的生成與解析由伺服器負責,客戶端也無法解密。
非對稱加密:Identify = base64.encode([用戶ID,時間戳...])。Token = Identify + 簽名(哈希(Identify), 私鑰)。私鑰是保密的,只存在於伺服器上,Token 的生成由伺服器負責。
以上就是Token生成的一些常見算法,具體使用哪種算法取決於實際的套用場景和安全需求。