/** * Generates a MAC key that corresponds to the parameter set specified by the first parameter. * * @param Dataset $dataset * @param string $requestType Key of 'mac param order definition' array * @return string */ private function generateMacKey(Dataset $dataset, $requestType) { $macDefinition = $this->getParamMacOrderDefinition(); $hashFunction = $this->getConfParam('hash_function', self::DEFAULT_HASH_FUNCTION); $macKey = ''; foreach ($macDefinition[$requestType] as $param) { $macKey .= sprintf('%s&', $dataset->hasParam($param) ? $dataset->getParam($param) : null); } $macKey .= $this->getConfParam('MAC_SECRET') . '&'; $macKey = \strtoupper($hashFunction($macKey)); return $macKey; }