OTP class Null safety

RFC4226/RFC6238 One-Time Password / Google Authenticator Library

Constructors

OTP()

Properties

hashCode int
The hash code for this object.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

lastUsedCounter int
Has the last used counter for HOTP and TOTP codes. TOTP codes are Milliseconds / 1000 / interval (default 30)
read / write
lastUsedTime int
Has the last used timestamp for TOTP codes, should match what you passed into the functions last.
read / write
useTOTPPaddingForHOTP bool
Used to enable TOTP style padding of the secret for SHA256 and SHA512 usage with HOTP. False by default.
read / write

Static Methods

constantTimeVerification(String code, String othercode) bool
Allows you to compare 2 codes in constant time, to mitigate timing attacks for secure codes.
generateHOTPCode(String secret, int counter, {int length = 6, Algorithm algorithm = Algorithm.SHA1, bool isGoogle = false}) int
Generates a one time password code based on a counter you provide and increment.
generateHOTPCodeString(String secret, int counter, {int length = 6, Algorithm algorithm = Algorithm.SHA1, bool isGoogle = false}) String
Generates a one time password code based on a counter you provide and increment, returns as a 0 padded string.
generateTOTPCode(String secret, int time, {int length = 6, int interval = 30, Algorithm algorithm = Algorithm.SHA256, bool isGoogle = false}) int
Generates a Time-based one time password code
generateTOTPCodeString(String secret, int time, {int length = 6, int interval = 30, Algorithm algorithm = Algorithm.SHA256, bool isGoogle = false}) String
Generates a Time-based one time password code and return as a 0 padded string.
getAlgorithm(Algorithm algorithm) Hash
Gets the Mac for the provided algorithm. Mostly used for testing, not very helpful outside of that.
getInternalDigest(String secret, int counter, int length, Hash mac, {bool isGoogle = false}) String
Mostly used for testing purposes, but this can get you the internal digest based on your settings. No handholding for this function, so you need to know exactly what to pass in.
randomSecret() String
Generates a cryptographically secure random secret in base32 string format.
remainingSeconds({int interval = 30}) int
There is a method that will tell you how much time remains in the current time step window in seconds. Interval is your TOTP function interval value (default = 30)