value method
Generates the next OTP value
Implementation
@override
int value() {
var digest = algo.convert(counter).bytes;
int offset = digest.last & 0xF;
int dbc = ((digest[offset] & 0x7F) << 24) |
((digest[offset + 1] & 0xFF) << 16) |
((digest[offset + 2] & 0xFF) << 8) |
(digest[offset + 3] & 0xFF);
return dbc % _max;
}