Add spacing every 11 bits to the checksum

This commit is contained in:
Ian Coleman
2018-03-12 10:33:07 +11:00
parent 548d94994b
commit f8ca25c338
2 changed files with 27 additions and 1 deletions
+10 -1
View File
@@ -1228,7 +1228,7 @@
var entropyTypeStr = getEntropyTypeStr(entropy); var entropyTypeStr = getEntropyTypeStr(entropy);
var wordCount = Math.floor(numberOfBits / 32) * 3; var wordCount = Math.floor(numberOfBits / 32) * 3;
var bitsPerEvent = entropy.bitsPerEvent.toFixed(2); var bitsPerEvent = entropy.bitsPerEvent.toFixed(2);
var spacedBinaryStr = entropy.binaryStr.match(/.{1,11}/g).join(" " ); var spacedBinaryStr = addSpacesEveryElevenBits(entropy.binaryStr);
DOM.entropyFiltered.html(entropy.cleanHtml); DOM.entropyFiltered.html(entropy.cleanHtml);
DOM.entropyType.text(entropyTypeStr); DOM.entropyType.text(entropyTypeStr);
DOM.entropyCrackTime.text(timeToCrack); DOM.entropyCrackTime.text(timeToCrack);
@@ -1479,6 +1479,11 @@
var start = binaryStr.length - checksumBitlength; var start = binaryStr.length - checksumBitlength;
var end = binaryStr.length; var end = binaryStr.length;
checksum = binaryStr.substring(start, end); checksum = binaryStr.substring(start, end);
// add spaces so the last group is 11 bits, not the first
checksum = checksum.split("").reverse().join("")
checksum = addSpacesEveryElevenBits(checksum);
checksum = checksum.split("").reverse().join("")
break;
} }
} }
DOM.entropyChecksum.text(checksum); DOM.entropyChecksum.text(checksum);
@@ -1504,6 +1509,10 @@
DOM.csv.val(tableCsv); DOM.csv.val(tableCsv);
} }
function addSpacesEveryElevenBits(binaryStr) {
return binaryStr.match(/.{1,11}/g).join(" ");
}
var networks = [ var networks = [
{ {
name: "AXE - Axe", name: "AXE - Axe",
+17
View File
@@ -2937,4 +2937,21 @@ it('Shows the checksum for the entropy', function(done) {
}); });
}); });
it('Shows the checksum for the entropy with the correct groupings', function(done) {
driver.findElement(By.css('.use-entropy'))
.click();
// create a checksum of 20 bits, which spans multiple words
driver.findElement(By.css('.entropy'))
.sendKeys("F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
driver.sleep(generateDelay).then(function() {
driver.findElement(By.css('.checksum'))
.getText()
.then(function(text) {
// first group is 9 bits, second group is 11
expect(text).toBe("011010111 01110000110");
done();
});
});
});
}); });