private string GetRandomBase36DigitsSafe()
{
lock (_randomLock)
{
byte[] buffer = new byte[8];
_random.NextBytes(buffer);
var number = Math.Abs(BitConverter.ToInt64(buffer, 0) % this._maxRandom);
string encoded = Base36Converter.FromLong(number);
return
encoded.Length == this._numRandomCharacters
? encoded
: encoded.Length > this._numRandomCharacters
? encoded.Substring(0, _numRandomCharacters)
: encoded.PadLeft(this._numRandomCharacters, '0');
}
}