1 ! Copyright (C) 2018 Alexander Ilin.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: calendar checksums.sha tools.test totp ;
7 49 50 51 52 53 54 55 56 57 48 49 50 51 52 53 54 55 56 57 48
9 CONSTANT: sha256-seed B{
10 49 50 51 52 53 54 55 56 57 48 49 50 51 52 53 54 55 56 57 48
11 49 50 51 52 53 54 55 56 57 48 49 50
13 CONSTANT: sha512-seed B{
14 49 50 51 52 53 54 55 56 57 48 49 50 51 52 53 54 55 56 57 48
15 49 50 51 52 53 54 55 56 57 48 49 50 51 52 53 54 55 56 57 48
16 49 50 51 52 53 54 55 56 57 48 49 50 51 52 53 54 55 56 57 48
20 : test-time ( n -- totp-time )
21 seconds unix-1970 time+ timestamp>count ;
23 { "94287082" } [ 59 test-time sha1-seed sha1 totp* 8 digits ] unit-test
24 { "46119246" } [ 59 test-time sha256-seed sha-256 totp* 8 digits ] unit-test
25 ! { "90693936" } [ 59 test-time sha512-seed sha-512 totp* 8 digits ] unit-test
27 { "07081804" } [ 1111111109 test-time sha1-seed sha1 totp* 8 digits ] unit-test
28 { "68084774" } [ 1111111109 test-time sha256-seed sha-256 totp* 8 digits ] unit-test
29 ! { "25091201" } [ 1111111109 test-time sha512-seed sha-512 totp* 8 digits ] unit-test
31 { "14050471" } [ 1111111111 test-time sha1-seed sha1 totp* 8 digits ] unit-test
32 { "67062674" } [ 1111111111 test-time sha256-seed sha-256 totp* 8 digits ] unit-test
33 ! { "99943326" } [ 1111111111 test-time sha512-seed sha-512 totp* 8 digits ] unit-test
35 { "89005924" } [ 1234567890 test-time sha1-seed sha1 totp* 8 digits ] unit-test
36 { "91819424" } [ 1234567890 test-time sha256-seed sha-256 totp* 8 digits ] unit-test
37 ! { "93441116" } [ 1234567890 test-time sha512-seed sha-512 totp* 8 digits ] unit-test
39 { "69279037" } [ 2000000000 test-time sha1-seed sha1 totp* 8 digits ] unit-test
40 { "90698825" } [ 2000000000 test-time sha256-seed sha-256 totp* 8 digits ] unit-test
41 ! { "38618901" } [ 2000000000 test-time sha512-seed sha-512 totp* 8 digits ] unit-test
43 { "65353130" } [ 20000000000 test-time sha1-seed sha1 totp* 8 digits ] unit-test
44 { "77737706" } [ 20000000000 test-time sha256-seed sha-256 totp* 8 digits ] unit-test
45 ! { "47863826" } [ 20000000000 test-time sha512-seed sha-512 totp* 8 digits ] unit-test