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)