Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android and Java Uuid

I want to generate a uuid for my app i tried many things like wifi mac address , getting android id, serial number , creating pseudo uuid from device android.os.Build properties .

i also came to know that java itself got Uuid creator class java.util.UUID

by going through several articles and blogs i am little confused about this . i want to know that if two android device are creating uuid using this java class(java.util.UUID) will that be unique or is there any chance for duplication?

Also in some devices i was not able to find serial number using android.os.Build.SERIAL . is there alternative way to get serial number of device

like image 348
edwin Avatar asked Feb 22 '26 10:02

edwin


1 Answers

Assuming you're using the java.util.UUID's randomUUID() function there's a theoretical chance of duplication, but it's incredibly remote. The ids generated are RFC4122 version-4 ids, which have 122 bits randomly set. That means there are 5.32 x 10^^36 possible values. For some perspective on that, if you had a billion devices, each generating a billion IDs per second, it would take roughly 168 billion years for them to finish (~10X the age of the universe).

So, yes, duplication is possible, but (assuming Java is using a high quality random number generator), the odds of it actually happening are so remote as to be meaningless.

like image 168
broofa Avatar answered Feb 24 '26 00:02

broofa



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!