2012-08-07 67 views
3

例如,現在我只需要爲永久「記住我」登錄生成令牌。爲了產生這些令牌我使用:我可以爲我的所有PHP令牌需求使用單個令牌生成機制嗎?

sha1(uniqid(mt_rand(), true))

它總是在[0-9A-F]生成,像這樣40個字符:

64070e8f3d155550b04272eae330d23896e043e6

我可以生成以相同的方式令牌密碼重置功能和電子郵件帳戶驗證?一般來說,是否有一種令牌生成機制可以用於我的所有令牌需求?或者,我可能需要爲不同的需求使用不同類型的代幣?

+0

馬的課程。 – 2012-08-07 07:36:55

+0

因爲我們不知道你的**需要**是什麼 - 那麼是的,你可以使用相同的令牌機制無論你需要什麼目的你需要一些獨特的40個字符的字符串。然而,爲什麼使用'SHA1'如果你有'uniqid'已經超出了我的範圍,我只能堅持'uniqid'。 – 2012-08-07 08:10:09

+0

現在我的需求是:令牌是持久登錄的cookie值;令牌在密碼重置URL用戶在電子郵件中點擊;令牌用於郵件驗證URL用戶在電子郵件中點擊。我使用這種功能組合,因爲......當我研究用於永久登錄的最佳令牌時,這就是我從SO中得到的結果。我如何確定令牌是否需要獨特而有點獨特? – Ryan 2012-08-07 09:02:33

回答

2

是的,你可以爲不同的目的使用相同的標記生成器。只要它適合他們,你不必亂用不同的機制,保持簡單

+0

我如何知道它是否不適合他們? – Ryan 2012-08-07 18:19:28

+0

我的意思是如果它適合你的要求 – periklis 2012-08-07 21:06:05

相關問題