1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-06 09:20:43 +01:00

totp code updates

This commit is contained in:
Kyle Spearrin 2017-07-13 14:45:57 -04:00
parent 38883b9550
commit cd19e0c9e4

View File

@ -56,11 +56,25 @@ angular
} }
var b32tohex = function (s) { 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 bits = '';
var hex = ''; var hex = '';
for (var i = 0; i < s.length; i++) { for (var i = 0; i < s.length; i++) {
var val = b32Chars.indexOf(s.charAt(i).toUpperCase()); var byteIndex = b32Chars.indexOf(s.charAt(i));
bits += leftpad(val.toString(2), 5, '0'); if (byteIndex < 0) {
continue;
}
bits += leftpad(byteIndex.toString(2), 5, '0');
} }
for (var i = 0; i + 4 <= bits.length; i += 4) { for (var i = 0; i + 4 <= bits.length; i += 4) {
var chunk = bits.substr(i, 4); var chunk = bits.substr(i, 4);
@ -131,13 +145,13 @@ angular
var tick = function (scope) { var tick = function (scope) {
$timeout(function () { $timeout(function () {
var epoch = Math.round(new Date().getTime() / 1000.0); var epoch = Math.round(new Date().getTime() / 1000.0);
var mod = (epoch % 30); var mod = epoch % 30;
var sec = 30 - mod; var sec = 30 - mod;
scope.sec = sec; scope.sec = sec;
scope.dash = (2.62 * mod).toFixed(2); scope.dash = (2.62 * mod).toFixed(2);
scope.low = sec <= 7; scope.low = sec <= 7;
if (epoch % 30 == 0) { if (mod == 0) {
updateCode(scope); updateCode(scope);
} }
}); });