aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs')
-rw-r--r--BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs15
1 files changed, 13 insertions, 2 deletions
diff --git a/BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs b/BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs
index 2ab263de..4d79295a 100644
--- a/BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs
+++ b/BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
+using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
@@ -33,13 +34,23 @@ namespace Timeline.Services.Token
_secureRandom.Dispose();
}
+ private static readonly char[] AlphaDigitString = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
+
private string GenerateSecureRandomTokenString()
{
var option = _optionMonitor.CurrentValue;
- var tokenLength = option.TokenLength ?? 32;
+ var tokenLength = option.TokenLength ?? 16;
var buffer = new byte[tokenLength];
_secureRandom.GetBytes(buffer);
- return Convert.ToHexString(buffer);
+
+ StringBuilder stringBuilder = new();
+
+ foreach (byte b in buffer)
+ {
+ stringBuilder.Append(AlphaDigitString[b % AlphaDigitString.Length]);
+ }
+
+ return stringBuilder.ToString();
}
/// <inheritdoc/>