Generar cadena aleatoria en Java

En este post sobre programación en Java te mostraré cómo generar una string o cadena aleatoria, es decir, tomar caracteres de un banco de caracteres y a partir del mismo generar una cadena con caracteres aleatorios en Java.

Crear cadena aleatoria en Java

El algoritmo es sencillo, simplemente tenemos que obtener un carácter aleatorio de la muestra e ir concatenando a la cadena de destino; lo que podemos hacer obteniendo un índice al azar.

Definiendo el banco de caracteres

En este caso se debe definir la muestra con los caracteres que se esperan en la cadena final. En mi caso, está definida así:

Puedes agregar más caracteres a tu gusto, en este caso solo tiene las letras del abecedario y números al azar.

Obteniendo carácter aleatorio

Para tomar un carácter aleatorio necesitamos un índice para acceder a la cadena que tiene el banco o muestra. Para ello podemos usar la siguiente función:

La forma de uso es que obtendremos un número aleatorio entre 0 y la longitud del banco menos 1.

Generar cadena aleatoria en Java

Finalmente veamos la función a continuación. Esta función recibe la longitud que debe tener la cadena generada.

Hacemos un ciclo que se repite N veces en donde N es la longitud de la cadena deseada. En cada paso, obtenemos un índice aleatorio, accedemos al banco con charAt para sacar un carácter y finalmente lo agregamos a la cadena de destino que regresamos al final.

De este modo tenemos una función en Java que genera una cadena aleatoria de cualquier longitud.

Nota importante: esta función genera una cadena aleatoria, pero no es criptográficamente segura. En pocas palabras, no lo uses para cosas de seguridad. Si quieres algo seguro, puedes echar un ojo a SecureRandom.

Poniendo todo junto

El código completo queda como se ve a continuación:

Si quieres puedes ejecutarlo en este enlace. También puedes leer más sobre programación Java.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario