public virtual string CreateApiKey(string environment, string keyType, int sizeBytes) { if (CachedBytes == null) CachedBytes = new byte[sizeBytes]; SessionExtensions.PopulateWithSecureRandomBytes(CachedBytes); return CachedBytes.ToBase64UrlSafe(); }
public void ToBase64UrlSafe_does_not_contain_unfriendly_chars() { var bytes = new byte[24]; string lastSessionId = null; 1000.Times(i => { SessionExtensions.PopulateWithSecureRandomBytes(bytes); var sessionId = bytes.ToBase64UrlSafe(); Assert.That(sessionId, Does.Not.Contain("+")); Assert.That(sessionId, Does.Not.Contain("/")); if (lastSessionId != null) { Assert.That(sessionId, Is.Not.EqualTo(lastSessionId)); } lastSessionId = sessionId; }); }