Sicuro contro cosa?
Anche se in realtà non devi preoccuparti di rispondere a questo, come per qualsiasi dubbio plausibile, sarà sufficiente la risposta di @ terry-chia di 16 byte.
Se hai bisogno di difendervi da una collisione accidentale (due utenti vengono emessi lo stesso token), allora devi vedere quanti utenti distinti potresti avere e fare un po 'di matematica. Quindi se i tuoi token vengono utilizzati per l'identificazione (come un nome utente) e per l'autenticazione, devi preoccuparti di questi tipi di collisioni.
Tuttavia, suppongo che non ci siano possibilità che il numero di utenti raggiunga oltre i trilioni, quindi anche se utilizzi questi token per l'identificazione, saranno sufficienti 16 byte.
A circa 8 * 10 ^ 14 utenti, avrai circa 1 su un miliardo, 10 ^ {- 9}, possibilità che ci sia almeno un paio di utenti che finiscono con lo stesso token. Se questo è un rischio troppo grande, allora vai con 20 byte. Puoi trovare la matematica a questo proposito nella descrizione del problema di compleanno