2015-06-16 63 views
0

我需要生成一個唯一的跟蹤號碼,只有10位數的長度。在網點生成唯一的發票跟蹤

,因爲我從谷歌計算器Generating unique tracking numbers

唯一有用的文章,但這不是點網代碼。我試圖找到一種方法來寫這個代碼的網絡equivelant,但我不能這樣做。

>>> int(hashlib.sha256(str(1) + "!salt!").hexdigest()[:13], 16) 
1269883740611281 
>>> int(hashlib.sha256(str(2) + "!salt!").hexdigest()[:13], 16) 
3655373802716929 

任何人都可以幫助我嗎?

+1

只有10位數字。大。這裏你去:1.000.000.000 - 9.999.999.999。請享用。 –

+0

在asp.net還有的GUID https://en.wikipedia.org/wiki/Globally_unique_identifier –

+0

您GUIDs.GUIDs的意思是不是好發票查詢號碼。 –

回答

0

我不知道爲什麼你在那裏使用的代碼使用散列。哈希值不是唯一的。哈希似乎被濫用在這裏作爲一個隨機數發生器。相反,直接使用RNG:

new Random().Next(1000 * 1000 *1000, 1000 * 1000 *1000 * 10).ToString() 

您可以使用網絡搜索找到了強加密,生成該範圍內的隨機數的方法。

您可以使用字母,以及有更多的可能的跟蹤代碼。