我正在開發一個應用程序,使現有用戶可以通過電子郵件邀請他們的朋友。在邀請過程中,我生成一個代碼,用於被邀請人點擊註冊的鏈接。從用戶電子郵件生成代碼以生成鏈接,然後發送
目前我使用從他們的電子郵件字符串生成的默認哈希碼,但是這可能是非常明顯和不安全的。
我使用考慮這個:
Random random = new Random();
Integer code = random.nextInt()
但我的Random
實例將需要在我的整個應用程序單身?每次應用程序/ jvm重新啓動時,它都會「重置」,從而在兩次產生相同數字的情況下產生可能的碰撞?
編輯其實默認的哈希碼並不壞,攻擊者需要知道有人已經被邀請,以及他們的電子郵件是,並嘗試生成正確的時間框架連桿(其中邀請活躍)。