mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-06 02:43:49 +00:00
@@ -19488,7 +19488,7 @@ window.Entropy = new (function() {
|
||||
var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
|
||||
var hex = sjcl.codec.hex.fromBits(hash);
|
||||
bits = BigInteger.parse(hex, 16).toString(2);
|
||||
for (var i=0; i<256-bits.length; i++) {
|
||||
while (bits.length % 256 != 0) {
|
||||
bits = "0" + bits;
|
||||
}
|
||||
// Truncate hash to suit number of words
|
||||
|
||||
@@ -843,7 +843,7 @@
|
||||
var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
|
||||
var hex = sjcl.codec.hex.fromBits(hash);
|
||||
bits = BigInteger.parse(hex, 16).toString(2);
|
||||
for (var i=0; i<256-bits.length; i++) {
|
||||
while (bits.length % 256 != 0) {
|
||||
bits = "0" + bits;
|
||||
}
|
||||
// Truncate hash to suit number of words
|
||||
|
||||
29
tests.js
29
tests.js
@@ -3335,6 +3335,35 @@ page.open(url, function(status) {
|
||||
});
|
||||
},
|
||||
|
||||
// Github issue 49
|
||||
// padding for binary should give length with multiple of 256
|
||||
// hashed entropy 1111 is length 252, so requires 4 leading zeros
|
||||
// prior to issue 49 it would only generate 2 leading zeros, ie missing 2
|
||||
function() {
|
||||
page.open(url, function(status) {
|
||||
expected = "avocado valid quantum cross link predict excuse edit street able flame large galaxy ginger nuclear"
|
||||
// use entropy
|
||||
page.evaluate(function() {
|
||||
$(".use-entropy").prop("checked", true).trigger("change");
|
||||
$(".entropy").val("1111").trigger("input");
|
||||
});
|
||||
waitForGenerate(function() {
|
||||
// get the mnemonic
|
||||
var actual = page.evaluate(function() {
|
||||
return $(".phrase").val();
|
||||
});
|
||||
// check the mnemonic is correct
|
||||
if (actual != expected) {
|
||||
console.log("Left padding error for entropy");
|
||||
console.log("Expected: " + expected);
|
||||
console.log("Actual: " + actual);
|
||||
fail();
|
||||
}
|
||||
next();
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
// If you wish to add more tests, do so here...
|
||||
|
||||
// Here is a blank test template
|
||||
|
||||
Reference in New Issue
Block a user