123456789101112131415 |
- package com.chameth.yaotp.accounts
-
- import com.chameth.yaotp.algos.*
-
- sealed class Account(val label: String, val issuer: String? = null, val timeBased: Boolean) {
- abstract fun generateOtp(): Otp
- }
-
- class HotpAccount(label: String, issuer: String?, var counter: Long, val params: HotpParams) : Account(label, issuer, false) {
- override fun generateOtp() = hotp(params, counter.toByteArray()).also { counter++ }
- }
-
- class TotpAccount(label: String, issuer: String?, val params: TotpParams) : Account(label, issuer, true) {
- override fun generateOtp() = totp(params)
- }
|