verifyCode static method

bool verifyCode({
  1. required String secret,
  2. required String code,
  3. int window = 1,
})

Implementation

static bool verifyCode({
  required String secret,
  required String code,
  int window = 1,
}) {
  final now = DateTime.now().millisecondsSinceEpoch ~/ 1000;
  final timeCounter = now ~/ _timeStepSeconds;
  for (var i = -window; i <= window; i++) {
    final otp = _hotp(secret, timeCounter + i);
    if (otp == code) return true;
  }
  return false;
}