Foros del Web » Programando para Internet » PHP »

encriptacion-opensll

Estas en el tema de encriptacion-opensll en el foro de PHP en Foros del Web. hola: tengo este codigo para encriptar.php: Código PHP: $fp  =  fopen ( "/etc/httpd/conf/ssl.crt/server.crt" ,  "r" ); $cert  =  fread ( $fp ,  8192 ); fclose ...
  #1 (permalink)  
Antiguo 16/05/2003, 08:08
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
encriptacion-opensll

hola:

tengo este codigo para encriptar.php:

Código PHP:
$fp fopen("/etc/httpd/conf/ssl.crt/server.crt""r");
$cert fread($fp8192);
fclose($fp);
$pk1 openssl_get_publickey($cert);

openssl_seal($pass$sealed,$ekeys, array($pk1));

echo 
"DATA: $pass \n";
echo 
"\nDATA ENCRYPT: $sealed \n";

openssl_free_key($pk1); 
y luego inserto el elemento encriptado en la bd.

y para desencriptar.php:

Código PHP:
$fp fopen("/etc/httpd/conf/ssl.key/server.key""r");
$priv_key fread($fp8192);
fclose($fp);
$pkeyid openssl_get_privatekey($priv_key);

if (
openssl_open($result$open$key $pkeyid))
    echo 
"here is the opened data:  $open";
    
else
    echo 
"failed to open data";

openssl_free_key($pkeyid);


mi problema es el siguiente:

$key esta definido en en encriptar.php y tambien se necesita en desencriptar.php, como recogo el valor de esa variable? el otro dia me contestaron que con sesiones pero necesito que alguien me digas mas o menos como hacerlo qpoeue no tengo ni idea.

este codigo no me desencripta, simplemente me dice que no se puede mostrar la pagina, no me da ningun error de linea.

otra cosa las paginas encriptar.php y desencriptar.php no tienen porq ir seguidas.

gracias
__________________
Muchas gracias, saludos.

Última edición por xias; 16/05/2003 a las 08:39
  #2 (permalink)  
Antiguo 16/05/2003, 15:11
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Nunca he usado open_ssl. Pero por lo que veo en el manual en la base de datos deberias guardar tanto el dato encriptado como el valor de $ekeys (cuidado con este, creo que es un array). Luego al desencriptar, recuperas de la BD el dato encriptado en $result y la clave de envoltorio ($ekeys) en $key.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 21/05/2003, 08:14
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
pero como

pero como deberia de recuperar luego $ekeys siendo un array?

$key1=mysql_fetch_array($consulta, 0, 3);

lo he intentado con esto pero no me funciona, y tampoco me da ningun error. la columna 3 es donde inserto el valor $ekeys.
__________________
Muchas gracias, saludos.
  #4 (permalink)  
Antiguo 21/05/2003, 14:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Pues si "dicen" que esa tal variable $ekeys es un array .. pasalo a un string para que lo puedas comparar con tu $key1 que tienes en tu BD .. (si es un string .. claro).

Código PHP:
$ekeys_string=implode(''.$ekeys); 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 22/05/2003, 08:59
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
te pillo la idea Cluster pero no se como hacerlo.

1º. encripto la contraseña e inserto en la bd tanto la contraseña encriptada como el $keys.

2º. a la hora de desencriptar un dato, el usuario inserta su usuario, yo lo comparo con el q tengo en la bd.

entonces ahora q deberia de hacer?
__________________
Muchas gracias, saludos.
  #6 (permalink)  
Antiguo 22/05/2003, 11:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema que tego yo es que no he trabajado con openssl .. así que no sé que es lo que guardas en tu BD encriptado (si una cadena o un array o que ..).

Ademas .. supongo que para desencriptar usando ese típo de algoritmos te hace falta la "semilla" para meterselo a tus funciones openssl junto con el dato de tu BD para que lo desencripte y de ahí compararlo con el dato que introduce tu usuario en ese formulario ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:38.