Un id autoincremental tiene muchas ventajas, entre ellas velocidad, siempre deberias usarlo.
Puedes hacer varias cosas con esos numeros:
- Si los distancias sumando una constante k, ya no son consecuitivos
- Si les aplicas una funcion lineal, necesitan al menos 3 Ids para advertir esa distribucion y obtener la ecuacion
- Podrias usar un polinomio de grado mayor (2 por ejemplo)
Te dejo un ejemplo de HASH simple que te hice:
Código PHP:
<?php
/*
@author: Pablo Bozzolo
*/
# auxiliar
function swapstr($s){
$endpos = strlen($s)-1;
$last = $s[$endpos];
$first = $s[0];
$s = substr_replace ($s , $last ,0, 1);
$s = substr_replace ($s , $first ,$endpos, 1);
return $s;
}
# coding
function ofusca_key($n){
return swapstr(strval(dechex(1000 + $n*$n)));
}
#decoding
function desofusca_key($s){
return sqrt(hexdec(swapstr($s)) -1000);
}
// Ejemplo
$n = 3500;
echo ofusca_key($n)."\n";
echo desofusca_key(ofusca_key($n));
Tu muestras el ID ofuscado en la URL y cuando te quieres devolver para con el parametro GET recuperar tus datos, usas la funcion inversa desofusca_key()
Si te fijas el ID=1 ya se convierte en algo medio complicado de decodificar
Podrias complicarla mas con mascara de bits