org.cryptacular.generator.HOTPGenerator.java Source code

Java tutorial

Introduction

Here is the source code for org.cryptacular.generator.HOTPGenerator.java

Source

/* See LICENSE for licensing and NOTICE for copyright. */
package org.cryptacular.generator;

import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.digests.SHA1Digest;

/**
 * OTP generator component that implements the HOTP scheme described in <a
 * href="https://tools.ietf.org/html/rfc4226">RFC 4226</a>.
 *
 * @author  Middleware Services
 */
public class HOTPGenerator extends AbstractOTPGenerator {

    /**
     * Generates the OTP given a per-user key and invocation count.
     *
     * @param  key  Per-user key.
     * @param  count  Counter moving factor.
     *
     * @return  Integer OTP.
     */
    public int generate(final byte[] key, final long count) {
        return generateInternal(key, count);
    }

    @Override
    protected Digest getDigest() {
        return new SHA1Digest();
    }
}