我想根據它們的id(每個用戶都有一個唯一的ID)爲我的應用程序中的每個用戶生成唯一的32字長度哈希字符串。當我在尋找這個時,我在SO中發現了一個類似的問題。 How to generate random SHA1 hash to use as ID in node.js? Gabi Purcaru的回答建議使用crypto
模塊的createHash
與當前時間和隨機字符串。而不是隨機字符串,我可以使用用戶的唯一ID,以便我可以確保生成的字符串始終是唯一的。但是這總是給我40個字符串長度的散列。但我想要它32個字符串的長度。如何使用相同的方法生成32字長的隨機字符串?在節點中生成自定義長度的唯一隨機字符串
crypto.createHash('sha1').update(current_date + uid).digest('hex'); //This always gives 40-word length string
我還提到naomik對同一個問題的很好的答案。他建議使用crypto.randomBytes()
。但是我們如何確保它不會再次生成相同的字符串?
所以..你有一個唯一的ID,你需要另外一個..什麼呢?你爲什麼不簡單地散列你已有的唯一ID? – Mjh
@Mjh該uid的長度爲5.我想擁有一個唯一的32個字長的字符串。 – RaR
@Mjh我們如何從5個字符串中創建一個32字符串? – RaR