- Added java support (experimental)
- Minimum supported kotlin version
1.6.0
- Moved from
com.github.eendroroy
toio.github.eendroroy
- Added
Algorithm
[Braking change]
DeprecatedDigest
(UseAlgorithm
)[Braking change]
RenamedUnsupportedDigitsForProvisioningUri
toUnsupportedOtpLengthForProvisioningUri
[Braking change]
RenamedUnsupportedDigestForProvisioningUri
toUnsupportedAlgorithmForProvisioningUri
- Renamed
digits
tolength
- Renamed
conf
toconfiguration
inTOPT
andHOTP
constructors - Renamed
time
parameter toepochSeconds
inTOPT.at(Long): String
- Renamed
count
parameter tocounter
inHOPT.at(Long): String
- Added
TOTP.at(Long): String
- Added
TOTP.verify(String, Long, Long?, Long, Long): Long?
[Braking change]
RemovedTOTP.verify(String, Long, Long, Date?, Date): Long?
[Braking change]
RemovedTOTP.at(Date): String
[Braking change]
RemovedBase32
andBase32String
and merged all functionality in newly introducedSecret
- Removed
OTP.generateOtp(Int): String
- Removed
HOTP(Base32String, Int, Digest)
- Removed
HOTP.at(Int): String
- Removed
HOTP.verify(String, Int, Int): Int?
- Removed
HOTP.provisioningUri(String, Int): String?
- Removed
TOTP(Base32String, Int, Digest, Int, String)
- Removed
TOTP.verify(String, Int, Int, Date?, Date): Int?
- Add supports for
radix
of OTP value, now it is possible to generate alphanumeric OTP - Fix
provisioningUri
, now validates explicitly for Google Authenticator support
RFC4226
andRFC6238
compliance- Added support for
SHA256
andSHA512
- Use Long value as otp input/counter
Deprecations
OTP.generateOtp(Int): String
(use:OTP.generateOtp(Long): String
)HOTP.at(Int): String
(use:HOTP.at(Long): String
)HOTP.verify(String, Int, Int): Int?
(use:HOTP.verify(String, Long, Long): Long?
)HOTP.provisioningUri(String, Int): String?
(use:HOTP.provisioningUri(String, Long): String?
)TOTP.verify(String, Int, Int, Date?, Date): Int?
(use:TOTP.verify(String, Long, Long, Date?, Date): Long?
)
- Added
Base32
andBase32String
classes HOTP
andTOTP
secrets are nowBase32String
- Added
HOTPConfig
andTOTPConfig
Deprecations
HOTP(Base32String, Int, Digest)
(use:HOTP(HOTPConfig)
)TOTP(Base32String, Int, Digest, Int, String)
(use:HOTP(TOTPConfig)
)