コード例 #1
0
ファイル: CryptoQueryTest.php プロジェクト: noikiy/owaspbwa
 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);
 }
コード例 #2
0
 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;
 }