Info
Version: | 1.0.1 |
Author(s): | Ronan Lamour |
Last Update: | Tuesday, August 21, 2018 |
.NET Fiddle: | Create the first Fiddle |
NuGet Url: | https://www.nuget.org/packages/rlcx.suid |
Install
Install-Package rlcx.suid
dotnet add package rlcx.suid
paket add rlcx.suid
rlcx.suid Download (Unzip the "nupkg" after downloading)
Dependencies
Tags
There are five types of fixed size SUID :
* LettersOnlySuid : 14 lowercase letters
* UrlFriendlySuid : 10 url friendly characters
* FilenameSuid : 10 characters than can be used to create a filename
* Suid : 9 printable characters
* TinySuid : 7 copy pastable characters
There are also extensions to convert a guid into a Suid (20 characters) or a TinySuid (16 characters).
By copy pastable, it means that it can be visible with a proper font (like Arial or Segoe UI)
Collision : Is it possible to create two Suid that are the same ? Yes and no.
For Suids in only one instance of the generator, you can't get the same unique identifier for more than 160 years (in 2178).
Exception is if you create more than 65535 suids in the same second (1 every 15 µs) you could possibly get a duplicate. In fact, there is 1/256 chance to get a collision on the 65536th created suid in the same second.
For Suids in multiple instances, chance is 1 / 16 777 216 if created in the same second.
So, Suid is NOT recommended if you create multiple suids in multiple instances that need to stay unique without any possible verification of uniqueness. If you use Suid that way, I recommend using the Guid extension ToTinySuid() (16 characters) or ToSuid() (20 characters) from a real guid.