WebUI: use secure random number generator for generating random port

Cryptographically strong random number generators are generally preferred over others.

PR #23049.
This commit is contained in:
Chocobo1 2025-08-03 15:09:39 +08:00 committed by GitHub
commit 94552b2384
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2127,9 +2127,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
}; };
const generateRandomPort = () => { const generateRandomPort = () => {
const min = 1024; // don't use modulo operations to avoid 'modulo bias'
const max = 65535; const buffer = new Uint16Array(1);
const port = Math.floor(Math.random() * (max - min + 1) + min); let port = crypto.getRandomValues(buffer)[0];
while (port < 1024)
port = crypto.getRandomValues(buffer)[0];
document.getElementById("portValue").value = port; document.getElementById("portValue").value = port;
}; };