客戶端和我正在集思廣益,從數字用戶標識(由數據庫生成)生成用戶名。關鍵要求是用戶名是唯一的。將整數映射到用戶名
最明顯的解決方案是設置用戶名等於用戶名。但是一個重要的要求是用戶名不是「明顯順序」的 - 所以雖然用戶ID可能會有4000,4001,4002,4003,但客戶端不希望用戶看到用戶名中的進展,即使這些數字最終將被使用。
這也將是可取的用戶名的長度爲compact--也就是長度不長,直到用戶ID已經到了有必要長度增長點。
有什麼建議嗎?
編輯: 大部分的答案都假定機制的安全性important--事實並非如此。客戶只是不希望誰是用戶名中的「高級」成員。
一個用戶名的主要目標是,他們很容易記住,只要hash並不是那麼好。
字母數字都還好,但客戶端有一個關於分配潛在的「壞」,用戶名關注。 fpq321會沒事的,ass123不會。這些將成爲用戶的公衆「處理」。
他們爲什麼不能順序?爲了防止他們被猜到? – RossFabricant 2010-01-20 19:10:38
我認爲這不是一個安全問題,而是一個心理問題;他們不希望用戶感覺不太重要或遲到聚會,因爲他們得到了更高(並因此更糟糕)的用戶名。 – justkevin 2010-01-20 19:35:16