dotnet add package rlcx.suid --version 1.0.1
NuGet\Install-Package rlcx.suid -Version 1.0.1
<PackageReference Include="rlcx.suid" Version="1.0.1" />
paket add rlcx.suid --version 1.0.1
#r "nuget: rlcx.suid, 1.0.1"
// Install rlcx.suid as a Cake Addin #addin nuget:?package=rlcx.suid&version=1.0.1 // Install rlcx.suid as a Cake Tool #tool nuget:?package=rlcx.suid&version=1.0.1
A Simple Unique Identifier (SUID) is (almost) unique like a GUID but only 7 characters !
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.
|Product||Versions Compatible and additional computed target framework versions.|
|.NET||net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed.|
|.NET Core||netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed.|
|.NET Standard||netstandard2.0 is compatible. netstandard2.1 was computed.|
|.NET Framework||net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed.|
|MonoAndroid||monoandroid was computed.|
|MonoMac||monomac was computed.|
|MonoTouch||monotouch was computed.|
|Tizen||tizen40 was computed. tizen60 was computed.|
|Xamarin.iOS||xamarinios was computed.|
|Xamarin.Mac||xamarinmac was computed.|
|Xamarin.TVOS||xamarintvos was computed.|
|Xamarin.WatchOS||xamarinwatchos was computed.|
- No dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
typos in description