totp alg updates

This commit is contained in:
Kyle Spearrin 2017-07-13 14:46:16 -04:00
parent fbb6f16ccc
commit 1c693a45b3
2 changed files with 18 additions and 4 deletions

View File

@ -177,13 +177,13 @@ angular
function totpTick() {
$timeout(function () {
var epoch = Math.round(new Date().getTime() / 1000.0);
var mod = (epoch % 30);
var mod = epoch % 30;
var sec = 30 - mod;
$scope.totpSec = sec;
$scope.totpDash = (2.62 * mod).toFixed(2);
$scope.totpLow = sec <= 7;
if (epoch % 30 == 0) {
if (mod == 0) {
totpUpdateCode();
}
});

View File

@ -39,11 +39,25 @@ function initTotpService() {
}
var b32tohex = function (s) {
s = s.toUpperCase();
var cleanedInput = '';
for (var i = 0; i < s.length; i++) {
if (b32Chars.indexOf(s[i]) < 0) {
continue;
}
cleanedInput += s[i];
}
s = cleanedInput;
var bits = '';
var hex = '';
for (var i = 0; i < s.length; i++) {
var val = b32Chars.indexOf(s.charAt(i).toUpperCase());
bits += leftpad(val.toString(2), 5, '0');
var byteIndex = b32Chars.indexOf(s.charAt(i));
if (byteIndex < 0) {
continue;
}
bits += leftpad(byteIndex.toString(2), 5, '0');
}
for (var i = 0; i + 4 <= bits.length; i += 4) {
var chunk = bits.substr(i, 4);