public function testPrepareEncryptFields() { $key = KeyHandler::readKey(); $values[] = '123456'; $values[] = 'abcd'; $values[] = 'pqr'; $fields[] = 'emp_ssn_num'; $fields[] = 'ebsal_basic_salary'; $fields[] = 'hs_hr_emp_language'; $expected[] = "AES_ENCRYPT(123456, '{$key}')"; $expected[] = "AES_ENCRYPT(abcd, '{$key}')"; $expected[] = "pqr"; $result = CryptoQuery::prepareEncryptFields($fields, $values); $this->assertEquals($expected, $result); $fields = null; $values = null; $expected = null; $fields[] = 'EMP_NUMBER'; $fields[] = 'EMP_SMOKER'; $fields[] = 'ETHNIC_RACE_CODE'; $fields[] = 'EMP_BIRTHDAY'; $fields[] = 'NATION_CODE'; $fields[] = 'EMP_GENDER'; $fields[] = 'EMP_MARITAL_STATUS'; $fields[] = 'EMP_SSN_NUM'; $fields[] = 'EMP_SIN_NUM'; $fields[] = 'EMP_OTHER_ID'; $fields[] = 'EMP_DRI_LICE_NUM'; $fields[] = 'EMP_DRI_LICE_EXP_DATE'; $fields[] = 'EMP_MILITARY_SERVICE'; $values[] = '001'; $values[] = '0'; $values[] = null; $values[] = '0000-00-00'; $values[] = null; $values[] = '1'; $values[] = '0'; $values[] = '125'; $values[] = '123'; $values[] = ''; $values[] = ''; $values[] = '0000-00-00'; $values[] = ''; foreach ($values as $value) { if ($value == null) { $expected[] = null; } elseif ($value == 125) { $expected[] = "AES_ENCRYPT({$value}, '{$key}')"; } else { $expected[] = $value; } } $result = CryptoQuery::prepareEncryptFields($fields, $values); $this->assertEquals($expected, $result); }
function simpleUpdate($updateTable, $changeFields, $changeValues, $updateConditions, $quoteCorrect = true) { if ($quoteCorrect) { $changeValues = $this->quoteCorrect($changeValues); } /* For Encryption : Begins */ $encOn = KeyHandler::KeyExists(); if ($encOn && CryptoQuery::isEncTable($this->table_name)) { $changeValues = CryptoQuery::prepareEncryptFields($changeFields, $changeValues); } /* For Encryption : Ends */ $query = "UPDATE {$updateTable} " . $this->_buildSet($changeFields, $changeValues) . $this->_buildWhere($updateConditions); return $query; }