我構建了一個即將推出beta測試的web應用程序。我真的很想交出測試版邀請和鑰匙,看起來不錯。生成漂亮的BETA鍵
即A3E6-7C24-9876-235B
這是大約16字符,十六進制數字。 它看起來像你可能看到的典型的beta鍵。 我的問題是什麼是一種標準的方式來產生這樣的事情,並確保它是唯一的,並且它不會容易有人猜測測試密鑰並生成它們自己的。
我有一些想法,應該會很適合測試鍵的作用:
- MD5是這個足夠安全,但它是漫長的,難看的,並可能導致0和O,或1和L之間的混淆。
- 我可以從16位長的十六進制數字開始。爲了防止人們猜測下一次測試版密鑰可能每次增加一個隨機數的值。即使我跳過大量數字,1111-1111-1111-1111和eeee-eeee-eeee-eeee之間的數字範圍也有充足的餘地。
我想我只是想知道是否有一個標準的方式來做到這一點,我沒有找到谷歌。有沒有更好的辦法?
如何只拉出一個加密PRNG的並將它們存儲在一個數據庫中大? – CodesInChaos 2012-04-29 00:49:53
使用小塊大小的塊密碼(如triple-des)加密數字1到n可能是另一種選擇。具有您不需要大型數據庫的優點。 – CodesInChaos 2012-04-29 00:52:40