* @license MIT */ final class SignatureGenerator implements SignatureGeneratorInterface { /** * @var ParameterEncoder */ private $parameterEncoder; /** * @var ParameterHasher */ private $parameterHasher; /** * Constructor. */ public function __construct() { $this->parameterEncoder = new ParameterEncoder(); $this->parameterHasher = new ParameterHasher(); } /** * {@inheritDoc} */ public function generateSignature(array $parameters) : string { return $this->parameterEncoder->encodeParameters($parameters); } /** * {@inheritDoc} */ public function generateSignatureKey(array $parameters) : string { return $this->parameterHasher->hashParameters($parameters); } }