Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2012, 15:05
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Cómo generar una clave random?

Buenas,

Tengo un problema, necesito generar una clave random que no se repita nunca, que esté encriptada con el ID autonumerico del usuario (tabla usuarios) y que pueda desencriptarla para volver a obtener el ID del usuario.

He probado varios metodos, md5, sha, etc... pero son muy largos, necesito encriptar el ID del usuario en 7 caracteres alfanumericos si es posible.

¿Se os ocurre alguna forma de hacerlo? es viable?

Tengo la siguiente función para generar claves aleatorias pero no se de que manera la puedo combinar con el ID del usuario y que luego al recibirla la pueda desencriptar y me dé el ID del usuario.

Código PHP:
Ver original
  1. randomKeygen($length=7){
  2.         $key = '';
  3.         list($usec, $sec) = explode(' ', microtime());
  4.         mt_srand((float) $sec + ((float) $usec * 100000));
  5.        
  6.         $inputs = array_merge(range('z','a'),range(0,9),range('A','Z'));
  7.  
  8.         for($i=0; $i<$length; $i++)
  9.         {
  10.             $key .= $inputs{mt_rand(0,61)};
  11.         }
  12.         return $key;
  13.     }

Muchas gracias de antemano!