diff options
author | crupest <crupest@outlook.com> | 2022-04-12 20:52:16 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-04-12 20:52:16 +0800 |
commit | 281ae3c3458bf022a659b04e0f269c0f0d21d34b (patch) | |
tree | 2701c03fa7d3c1c42cce903e1e29faefbbbd7d55 /BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs | |
parent | 73317407aff1ef1bcda102b1e75d628e5c8f682b (diff) | |
download | timeline-281ae3c3458bf022a659b04e0f269c0f0d21d34b.tar.gz timeline-281ae3c3458bf022a659b04e0f269c0f0d21d34b.tar.bz2 timeline-281ae3c3458bf022a659b04e0f269c0f0d21d34b.zip |
...
Diffstat (limited to 'BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs')
-rw-r--r-- | BackEnd/Timeline/Services/Token/SecureRandomUserTokenService.cs | 15 |
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/> |