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