sophuwu.site > otpp
made test file
sophuwu sophie@sophuwu.site
Fri, 06 Oct 2023 11:28:41 +0200
commit

d273e53f008a98dd34f3f83609a6acd33e5ed0a5

parent

cb2c7363257afb3ead0b0610324e39b8fc1baa26

1 files changed, 37 insertions(+), 0 deletions(-)

jump to
A test.cpp

@@ -0,0 +1,37 @@

+#include "otpp.h" + +int validateSecret(char secret[]) { + if (strlen(secret) != 32) { + return 0; + } + for (int i = 0; i < 32; i++) { + if (!((secret[i] >= '0' && secret[i] <= '9') || (secret[i] >= 'A' && secret[i] <= 'F'))) { + return 0; + } + } + return 1; +} + +int main(int argc, char* argv[]) { + if (argc != 2) { + printf("usage: %s <input>\n", argv[0]); + printf("options:\n"); + printf(" --gen Generate new secret\n"); + printf(" <secret> Get a token for a secret\n"); + return 1; + } + if (strcmp(argv[1], "--gen") == 0) { + OTP otp; + otp.generateNewSecret(); + printf("generated new secret:\n%s\n", otp.exportSecret()); + return 0; + } + if (!validateSecret(argv[1])) { + printf("invalid secret\nuse --gen to generate a new secret\n"); + return 1; + } + OTP otp; + otp.importSecret(argv[1]); + printf("current token:\n%d\n", otp.currentToken()); + return 0; +}