From 08c3bbde3c74dbf836c19ea68678d8f5a665348b Mon Sep 17 00:00:00 2001 From: Passive Date: Wed, 3 Aug 2022 16:34:38 +1000 Subject: [PATCH 1/2] Use single instance for rng in discord bot --- .../MareSynchronosServer/Discord/DiscordBot.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Discord/DiscordBot.cs b/MareSynchronosServer/MareSynchronosServer/Discord/DiscordBot.cs index fb92a46..47dbf53 100644 --- a/MareSynchronosServer/MareSynchronosServer/Discord/DiscordBot.cs +++ b/MareSynchronosServer/MareSynchronosServer/Discord/DiscordBot.cs @@ -26,6 +26,7 @@ namespace MareSynchronosServer.Discord private readonly IServiceProvider services; private readonly IConfiguration configuration; private readonly ILogger logger; + private readonly Random random; private string authToken = string.Empty; DiscordSocketClient discordClient; ConcurrentDictionary DiscordLodestoneMapping = new(); @@ -39,6 +40,7 @@ namespace MareSynchronosServer.Discord this.configuration = configuration; this.logger = logger; + random = new(); authToken = configuration.GetValue("DiscordBotToken"); discordClient = new(new DiscordSocketConfig() @@ -131,8 +133,7 @@ namespace MareSynchronosServer.Discord var lodestoneAuth = db.LodeStoneAuth.SingleOrDefault(u => u.DiscordId == id); if (lodestoneAuth != null && DiscordLodestoneMapping.ContainsKey(id)) { - Random rand = new(); - var randomServer = LodestoneServers[rand.Next(LodestoneServers.Length)]; + var randomServer = LodestoneServers[random.Next(LodestoneServers.Length)]; var response = await req.GetAsync($"https://{randomServer}.finalfantasyxiv.com/lodestone/character/{DiscordLodestoneMapping[id]}"); if (response.IsSuccessStatusCode) { From 2f281f366b1ac2e84dc7cb1090e4474fb5ce6894 Mon Sep 17 00:00:00 2001 From: Passive Date: Wed, 3 Aug 2022 16:36:59 +1000 Subject: [PATCH 2/2] Replace obsolete rng call with RandomNumberGenerator.GetBytes --- MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.cs index b06f316..b0efac7 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.cs @@ -133,9 +133,7 @@ namespace MareSynchronosServer.Hubs allowableChars = @"ABCDEFGHJKLMNPQRSTUVWXYZ0123456789"; // Generate random data - var rnd = new byte[length]; - using (var rng = new RNGCryptoServiceProvider()) - rng.GetBytes(rnd); + var rnd = RandomNumberGenerator.GetBytes(length); // Generate the output string var allowable = allowableChars.ToCharArray();