public final class OtpTools
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
OtpTools.FormatType
Supported formatting modes for OTP.
|
static class |
OtpTools.ScrambleType
Supported scramble modes for OTP.
|
| Modifier and Type | Method and Description |
|---|---|
static SecureString |
formatOtp(OtpTools.FormatType mode,
SecureString otp)
Format the OTP with according provided mode.
|
static SecureString |
padOtpWithZero(SecureString otp,
int minLength)
left pad an OTP with Zero if needed.
|
static SecureString |
scrambleOtp(OtpTools.ScrambleType mode,
SecureString otp)
Compute a scrambled OTP from original OTP.
|
public static SecureString scrambleOtp(OtpTools.ScrambleType mode, SecureString otp)
mode - - Specifies the mode of scrambling functionotp - - Original otp. Length must greater or equal to 5 and only
digits are accepted.java.lang.IllegalArgumentException - When scramble type or otp is invalidpublic static SecureString formatOtp(OtpTools.FormatType mode, SecureString otp)
mode - - Specifies the mode of formatting functionotp - - original OTP
if mode is see OtpTools.FormatType.CAP
| OTP length | Formatted OTP |
| 1 | X |
| 2 | XX |
| 3 | XXX |
| 4 | XXXX |
| 5 | XX XXX |
| 6 | XXX XXX |
| 7 | XXX XXXX |
| 8 | XXXX XXXX |
| 9 | XXX XXX XXX |
| 10 | XX XXXX XXXX |
| 11 | XXXXXXXXXXX |
| 12 | XXXXXXXXXXXX |
| >12 | not changed |
java.lang.IllegalArgumentException - when the otp or format type is invalidjava.lang.IllegalArgumentException - when the mode is CAP and
the otp contains a non-digit character.public static SecureString padOtpWithZero(SecureString otp, int minLength)
otp - OTP to pad.minLength - The minimum length of the padded OTP. If minLength is lower than the otp length, no padding is added and a copy of otp is returned (so original one can be wiped).