libotp 0.1.0

One Time Password generator
Documentation
[![Build Status](https://travis-ci.org/naim94a/otp.svg?branch=master)](https://travis-ci.org/naim94a/otp)

**libotp** implements RFC4226 and RFC6238.
These RFCs are implemented by Google's Google Authenticator.

OTP can increases the security for various things, such as web services, servers and even private computers.

## How OTP works
A secret is shared between the client and a device.
Passwords are generated based on the shared secret.

It is possible to work in two modes:
1. Counter based - The OTP is generated with a counter that is increased on each successful attempt.
2. Time based - The OTP is generated based on time. Codes are valid for a pre-configured amount of time.

## Features
* HTOP - HMAC One-Time-Password generation ([RFC4226]https://tools.ietf.org/html/rfc4226).
    * Configurable HMAC - SHA1, SHA256 or SHA512.
* TOTP - Time based One-Time-Password generation ([RFC6238]https://tools.ietf.org/html/rfc6238).
    * Configurable time step, RFC recommended is 30 seconds.
    * Configurable T0 (start time).