class SecondFactor::HOTP

Public Class Methods

generate(secret_based, step) click to toggle source
# File lib/secondfactor/hotp.rb, line 3
def self.generate(secret_based, step)
  hmac = SecondFactor::OTP.generate_hmac(secret_based, step)
  hotp = (hmac % 10 ** 6).to_s.rjust(6, '0')
  return hotp
end
verify(secret_based, step, token) click to toggle source
# File lib/secondfactor/hotp.rb, line 9
def self.verify(secret_based, step, token)
  challenge = self.generate(secret_based, step)
  return challenge == token
end