Class AbstractOTPGenerator

java.lang.Object
org.cryptacular.generator.AbstractOTPGenerator
Direct Known Subclasses:
HOTPGenerator, TOTPGenerator

public abstract class AbstractOTPGenerator extends Object
Abstract base class for HOTP and TOTP OTP generation schemes.
Author:
Middleware Services
  • Field Details

    • DEFAULT_NUMBER_OF_DIGITS

      protected static final int DEFAULT_NUMBER_OF_DIGITS
      Default number of digits to generate.
      See Also:
  • Constructor Details

    • AbstractOTPGenerator

      public AbstractOTPGenerator()
      Creates a new abstract OTP generator.
    • AbstractOTPGenerator

      public AbstractOTPGenerator(int numberOfDigits)
      Creates a new abstract OTP generator.
      Parameters:
      numberOfDigits - Number of digits in generated OTP. MUST be in the range 6 - 9.
  • Method Details

    • getNumberOfDigits

      public int getNumberOfDigits()
      Returns:
      Number of digits in generated OTP.
    • generateInternal

      protected int generateInternal(byte[] key, long count)
      Internal OTP generation method.
      Parameters:
      key - Per-user key.
      count - Counter moving factor.
      Returns:
      Integer OTP.
    • getDigest

      protected abstract org.bouncycastle.crypto.Digest getDigest()
      Returns:
      Digest algorithm used for HMAC operation.