我的團隊正在開發一個具有舊數據庫的應用程序,該應用程序使用兩個不同的值作爲Group對象的唯一標識符:Id
是一個自動遞增的Identity列,其值已確定在插入時由數據庫執行。 GroupCode
由插入後的應用確定,並且是"Group" + theGroup.Id
。用戶友好且難以猜測的唯一標識符
我們需要的是一種算法來生成GroupCode的是:
- 是唯一的。
- 對於用戶來說輸入正確是比較容易的。
- 黑客難以猜測。
- 既可以在插入時由數據庫創建,也可以在插入之前由應用程序創建(即不依賴於標識列)。
現有解決方案符合前兩項標準,但不符合最後兩項標準。有誰知道有一個很好的解決方案來滿足所有上述標準嗎?
還有一點需要注意:即使這段代碼是由用戶在外部使用,並且即使Id會爲其他表提供更好的標識符以將其外鍵鏈接到其他表,但GroupCode會被其他表使用來引用特定的Group 。
在此先感謝。
這讓我想起了:http://thedailywtf.com/Articles/The-Automated-Curse-Generator.aspx – Skilldrick 2009-11-07 15:18:07