Basado en crypto.getRandomValues — aleatoriedad real, no Math.random.
Contraseña segura con la longitud y complejidad que elijas.
Extrae uno o varios números de un rango que eliges.