static void Main1(string[] args) { var uid = Guid.NewGuid(); var uidBytes = uid.ToByteArray(); var base32 = Base32.Encode(uidBytes); var base64 = Convert.ToBase64String(uidBytes); Console.WriteLine($"base16 : {uid:n}"); Console.WriteLine($"base32 : {base32}"); Console.WriteLine($"base64 : {base64}"); var fromBase32 = new Guid(Base32.Decode(base32)); var fromBase64 = new Guid(Convert.FromBase64String(base64)); Console.WriteLine(); Console.WriteLine($"====== And back ======"); Console.WriteLine(); Console.WriteLine($"original : {uid:n}"); Console.WriteLine($"from base32 : {fromBase32:n}"); Console.WriteLine($"from base64 : {fromBase64:n}"); Console.WriteLine(); Console.WriteLine($"====== With checksum digit ======"); Console.WriteLine(); Console.WriteLine(AddChecksum("pay" + base32)); Console.WriteLine(AddChecksum("evt" + base32)); Console.WriteLine(AddChecksum("wbh" + base32)); }
public static string ToBase32(Guid guid) => Base32.Encode(guid.ToByteArray());