0
我試圖創建一個生成不中我的數據庫(MongoDB的)存在一個隨機令牌的功能,我在用戶模式中使用獨特的屬性。這是我的函數:令牌生成和表達
var UniqueTokenGenerator = function() {
var token = uuid.v4();
UserModel.findOne({token : token} , (err , user)=> {
if(err)
res.status(500).send(err);
else if(user){
//1
}else if(!user){
return token; //2
}
});
};
我的問題:
- 我想如果存在令牌調用UniqueTokenGenerator或任何...像循環。
- 令牌不能退貨。
- 任何人有更好的主意嗎?
我不想使用任何庫,如jwt
。
tnx您的答案...但1%,如果2令牌得到相等...?! –
是,1%的機會,如果你產生2.6百萬的三次方令牌。地球上只有75億人。 – smarx
對於一個小的角度來看,如果你創建了一個UUID爲地球上每一個人,你找到一個碰撞的機率將大致0.0000000000000000000 << 200,000這裏>> 0000001零。它更可能是你會被流星在明年比你會發現一個衝撞被命中兩次。 – smarx