Added support for:
- specifying the generated token length
- additional hash algorithms (SHA256, SHA512)
- specifying the time step period