public string GenerateSecretCodeUrlSafe(int minLength, int maxLength)
 {
     var random = new RandomGenerator();
     var length = random.RandomNumber(minLength, maxLength);
     var cryptoRandomDataGenerator = new RNGCryptoServiceProvider();
     byte[] buffer = new byte[length];
     cryptoRandomDataGenerator.GetBytes(buffer);
     string uniq = Convert.ToBase64String(buffer).Replace('+', '-').Replace('/', '-').TrimEnd('=').Trim('-');
     return uniq;
 }