/** * Validate that the provided value is a base64 string. * * @since 1.2.3 */ public function testIsBase64() { $this->assertTrue(Validator::isBase64('YWJjZA==')); $this->assertTrue(Validator::isBase64('MTIzNA==')); $this->assertTrue(Validator::isBase64('YWJjZDEyMzQ=')); $this->assertFalse(Validator::isBase64('abcde')); $this->assertFalse(Validator::isBase64('12345')); $this->assertFalse(Validator::isBase64('abcde12345')); }
/** * Descrypts the HTTP param fieldnames in the array provided and returns the plain version. * * @param $params array * * @return array * * @since 1.2.2 */ private function decryptFieldNames($params) { $decrypted = array(); foreach (array_keys($params) as $fieldname) { // set request params where fieldnames provided are based64 encoded and encrypted if (Validator::isBase64($fieldname)) { $decrypted[SecurityUtils::decrypt(base64_decode($fieldname))] = $params[$fieldname]; } } return $decrypted; }