Hola, necesito de su ayuda, alguien sabe como puedo usar AES con la clase dao de YII?
Me explico en la base de datos de mi aplicacion necesito que algunos campos vallan encriptados y al recuperarlos poder desencriptarlos, es por esta razon que necesito usar AES, la sintaxis sql para hacerlo es:
insert into tabla(campos)values(aes_encrypt(‘valor_campo’,‘llave_para_encriptar’))
intente haciendo lo siguiente:
$sql = "insert into tabla(campos)values(aes_encrypt(:valor,:key)) ";
$comando = Yii::app() -> db -> createCommand($sql);
$comando -> bindParam(":valor", $this -> valor, PDO::PARAM_STR);
$comando -> bindParam(":key", $this -> key, PDO::PARAM_STR);
$comando -> execute();
y tambien haciendo:
$sql = "insert into tabla(campos)values(aes_encrypt(:valor,'".$key."'))";
$comando = Yii::app() -> db -> createCommand($sql);
$comando -> bindParam(":valor", $this -> valor, PDO::PARAM_STR);
$comando -> execute();
pero me manda el siguiente error (ambas veces):
CDbException
CDbCommand falló al ejecutar la sentencia SQL: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn’t match value count at row 1 …\protected\models\AplicacionDtecnicos.php(319): CDbCommand->execute()
Como lo puedo hacer? alguna idea? … gracias!