* @link http://christianriesen.com * @license MIT License see LICENSE file */ interface OtpInterface { /** * Returns OTP using the HOTP algorithm * * @param string $secret * @param integer $counter * @return string One Time Password */ function hotp($secret, $counter); /** * Returns OTP using the TOTP algorithm * * @param string $secret * @param integer $timecounter Optional: Uses current time if null * @return string One Time Password */ function totp($secret, $timecounter = null); /** * Checks Hotp against a key * * This is a helper function, but is here to ensure the Totp can be checked * in the same manner. * * @param string $secret * @param integer $counter * @param string $key * * @return boolean If key is correct */ function checkHotp($secret, $counter, $key); /** * Checks Totp agains a key * * * @param string $secret * @param integer $key * @param integer $timedrift * * @return boolean If key is correct */ function checkTotp($secret, $key, $timedrift = 1); }