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->skey, 0, $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->skey, 0, $iv);
}
}
}
si el algo normal ejemplo: casa ; lo desencripta y desencripta normal.
gracias de antemano; por la ayuda.