diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/InitialLoginSessionHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/InitialLoginSessionHandler.java index 482fb76e64..0febc76d33 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/InitialLoginSessionHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/InitialLoginSessionHandler.java @@ -50,9 +50,9 @@ import java.security.GeneralSecurityException; import java.security.KeyPair; import java.security.MessageDigest; +import java.security.SecureRandom; import java.util.Arrays; import java.util.Optional; -import java.util.concurrent.ThreadLocalRandom; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.apache.logging.log4j.LogManager; @@ -65,6 +65,7 @@ public class InitialLoginSessionHandler implements MinecraftSessionHandler { private static final Logger logger = LogManager.getLogger(InitialLoginSessionHandler.class); + private static final SecureRandom SECURE_RANDOM = new SecureRandom(); private static final String MOJANG_HASJOINED_URL = System.getProperty("mojang.sessionserver", "https://sessionserver.mojang.com/session/minecraft/hasJoined") @@ -286,7 +287,7 @@ public boolean handle(EncryptionResponsePacket packet) { private EncryptionRequestPacket generateEncryptionRequest() { byte[] verify = new byte[4]; - ThreadLocalRandom.current().nextBytes(verify); + SECURE_RANDOM.nextBytes(verify); EncryptionRequestPacket request = new EncryptionRequestPacket(); request.setPublicKey(server.getServerKeyPair().getPublic().getEncoded());