Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2020, 07:26
Avatar de trofserpiente
trofserpiente
 
Fecha de Ingreso: julio-2012
Ubicación: Lerida
Mensajes: 220
Antigüedad: 11 años, 9 meses
Puntos: 1
Exclamación encriptar y desencriptar datos para enviar por get

tengo estas funciones para encriptar y desencriptar pero me arroja este error

openssl_decrypt(): IV passed is only 15 bytes long, cipher expects an IV of precisely 16 bytes, padding with \0 in php varia los bytess segun lo que se encripte.

este es el codigo

Código PHP:

class Encryption {

var 
$skey "datosystem1234"// llave privada
var $method 'aes-256-cbc';


public function 
encode($value){

    if(!
$value){return false;}else{

        
    
$iv openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
    
$encrypted=openssl_encrypt($value$this->method$this->skey0$iv);

    return 
base64_encode($encrypted."::".$iv);
    
    }    
}

//**************************************************************************************
public function decode($value){

    if(!
$value){return false;}else{
        list(
$encrypted_data$iv) = explode('::'base64_decode($value), 2);
        
//list($encrypted_data, $iv) = explode('::', trim($this->safe_b64decode($value)), 2);
        
return openssl_decrypt($encrypted_data$this->method$this->skey0$iv);
    }

}




}

si el algo normal ejemplocasa lo desencripta y desencripta normal
gracias de antemanopor la ayuda
__________________
Luis Alfonso Cruz Valbuena
[email protected]