20/05/2011, 09:24
|
| | Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 13 años, 6 meses Puntos: 0 | |
rutina para formar firma digital y comprobar firma digital RSA HASH MD5 en base 64 amigos, aca dejo unas rutinas para la utilizacion de firma digital
Declaración de funciones
public function getPublica( $file = null ){
if(!file)
return false;
$fp = fopen($file , "r");
$txtpublica = fread($fp, 8192);
fclose($fp);
return $txtpublica;
}
public function getPrivada($file = null){
if(!file)
return false;
$fp = fopen($file , "r");
$txtprivada = fread($fp, 8192);
fclose($fp);
return $txtprivada;
}
public function getFirma($file = null){
if(!file)
return false;
$fp = fopen($file, "r");
$txtfirma = fread($fp, 8192);
fclose($fp);
return $txtfirma;
} Funcion para conformar firma
public function encripta( $datos ){
//datos contiene los nodos concatenados
//estos nodos son definidos con contraparte
$llavePrivada = $this->getPrivada( "private.key");
openssl_sign( $datos , $result ,$llavePrivada , OPENSSL_ALGO_MD5 );
$result = base64_encode( $result );
return $result;
} funcion para comprobar firma digital
function desencripta($datos, $firma ){
$llave = $this->getPublica( "publica.key" );
$base64 = base64_decode( $firma );
if(openssl_verify ($datos , $base64 , $llave , OPENSSL_ALGO_MD5 ) )
return TRUE;
return FALSE;
}
Última edición por carlitros554; 20/05/2011 a las 09:34 |