2012-05-21 66 views
0

我使用Boost隨機數發生器來產生隨機UUID's.The隨機UUID,我產生現在很Lengthy.Instead我想生成一個UUID這是一個2位數像如: 「DZ」產生隨機UUID是2位長

我使用的代碼行現在是

的std :: string strAK = to_string(升壓:: UUID的:: random_generator()());

如何修改這個代碼,並生成一個UUID是2位長。

+5

還有一個原因,一個UUID是那麼的漫長..... –

+1

生成的東西的兩個數字長,如果你必須這樣做。只是不要稱之爲UUID,也不要期望避免衝突。 –

+2

退一步,您將如何處理這2個字符的字符串? –

回答

2

中平凡,

std::string strAK = to_string(boost::uuids::random_generator()()).substr(0, 2); 

但已經評論說,這不會是普遍唯一的。

+0

根據基數(即對於所有上部alpha和0-9),在2個char字符串可能表示的範圍內,它甚至不可能是唯一的。如果他真的只需要2個字符來覆蓋所有可能性,那麼使用自動遞增計數器可能會更好,該計數器會給出100個可能的組合,或者如果他需要更多的將十進制數轉換爲不同的基數。 –

+0

感謝菲利普...如u所說的那樣,這將是錯誤調用2位數的ID作爲UUID.I需要它,因爲我已經有一個典型的UUID和我需要的2位ID鏈接到這個地圖裏面.. 。 – payyans4u