Pues generar una cadena aleatoria de los caracteres que tu quieras y que se guarde esa cadena como link en una bd, y una vez se vuelva a generar esa cadena comparar primero si esa cadena existe en la bd. Si la cadena existe que genere otra, si no existe que añada el link a la bd.
Esto es un generador de password aleatorio pero te sirve igualmente para hacer una cadena aleatoria.
Código PHP:
Ver original// TRUE O FALSE EN LA OPCIÓN QUE QUIERAS AÑADIR
$opc_letras = TRUE; // FALSE para quitar las letras
$opc_numeros = TRUE; // FALSE para quitar los números
$opc_letrasMayus = TRUE; // FALSE para quitar las letras mayúsculas
$opc_especiales = FALSE; // FALSE para quitar los caracteres especiales
$longitud = 25;
$password = "";
$letras ="abcdefghijklmnopqrstuvwxyz";
$numeros = "1234567890";
$letrasMayus = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$especiales ="|@#~$%()=^*+[]{}-_";
$listado = "";
if ($opc_letras == TRUE) {
$listado .= $letras; }
if ($opc_numeros == TRUE) {
$listado .= $numeros; }
if($opc_letrasMayus == TRUE) {
$listado .= $letrasMayus; }
if($opc_especiales == TRUE) {
$listado .= $especiales; }
for( $i=1; $i<=$longitud; $i++) {
$password[$i] = $listado[rand(0,strlen($listado))]; }
echo $cadena;
Cambia los parametros TRUE o FALSE como te mejor te venga y cambia también el limite de caracteres por cadena. Espero que te sirva