/**
  * Generate a set of mOTP shared parameters.
  *
  * @param MotpConfigurationInterface $configuration The configuration to generate shared parameters for.
  *
  * @return MotpSharedParametersInterface The generated shared parameters.
  */
 public function generateMotp(MotpConfigurationInterface $configuration)
 {
     return new MotpSharedParameters($this->isolator()->mcrypt_create_iv($configuration->secretLength()), str_pad($this->isolator()->mt_rand(0, 9999), 4, '0', STR_PAD_LEFT), $this->isolator()->time(), $this->isolator());
 }
Example #2
0
 /**
  * Generate an mOTP value.
  *
  * @link http://motp.sourceforge.net/#1.1
  *
  * @param MotpConfigurationInterface    $configuration The configuration to use for generation.
  * @param MotpSharedParametersInterface $shared        The shared parameters to use for generation.
  *
  * @return OtpValueInterface The generated mOTP value.
  */
 public function generateMotp(MotpConfigurationInterface $configuration, MotpSharedParametersInterface $shared)
 {
     return new MotpValue(md5(strval(intval($shared->time() / $configuration->window())) . bin2hex($shared->secret()) . $shared->pin()));
 }