Skip to content

Commit dc830dd

Browse files
committed
Updated demo page.
1 parent 8b04271 commit dc830dd

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

index.html

+32-27
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,11 @@ <h1>scrypt-js</h1>
173173
<script type="text/javascript">
174174

175175
function get(id) { return document.getElementById(id); }
176+
function getValue(id) {
177+
var value = get(id).value;
178+
if (value.match(/^[0-9]+$/)) { return parseInt(value); }
179+
return null;
180+
}
176181
function normalized(field) {
177182
var value = get('pbkdf-' + field).value;
178183
var forms = document.getElementById('form-' + field).getElementsByClassName('selected');
@@ -229,12 +234,12 @@ <h1>scrypt-js</h1>
229234
done = false;
230235

231236
try {
232-
var password = normalized('password'); //get('pbkdf-password').value;
233-
var salt = normalized('salt');// get('pbkdf-salt').value;
234-
var N = 1 << parseInt(get('pbkdf-Nlog2').value);
235-
var r = get('pbkdf-r').value;
236-
var p = get('pbkdf-p').value;
237-
var dkLen = get('pbkdf-dkLen').value;
237+
var password = normalized('password');
238+
var salt = normalized('salt');
239+
var N = 1 << getValue('pbkdf-Nlog2');
240+
var r = getValue('pbkdf-r');
241+
var p = getValue('pbkdf-p');
242+
var dkLen = getValue('pbkdf-dkLen');
238243
console.log(password, salt, N, r, p)
239244

240245
} catch (error) {
@@ -251,30 +256,30 @@ <h1>scrypt-js</h1>
251256
', password=0x' + password.toString('hex') + ', salt=0x' + salt.toString('hex'));
252257

253258
var t0 = (new Date()).getTime();
254-
scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) {
255-
256-
if (error) {
257-
printConsole("Cancelled: " + parseInt(100 * progress) + "% done");
258-
259-
} else if (key) {
260-
key = new buffer.SlowBuffer(key);
261-
printConsole("Generated: " + key.toString('hex'));
262-
printConsole("Complete: " + (((new Date()).getTime() - t0) / 1000) + 's');
263-
}
264-
265-
if (error || key) {
266-
submit.classList.remove('cancel');
267-
submit.value = "Compute scrypt";
268-
269-
done = null;
270-
progress = 0;
271-
272-
} else if (done) {
273-
return true;
274-
}
259+
scrypt.scrypt(password, salt, N, r, p, dkLen, function(progress) {
260+
// Cancelled
261+
if (done) { return true; }
275262

263+
// Update the progress bar
276264
get('progressBar').style.width = parseInt(100 * progress) + '%';
277265
get('progressAmount').innerHTML = parseInt(100 * progress) + '%';
266+
}).then(function(key) {
267+
key = new buffer.SlowBuffer(key);
268+
printConsole("Generated: " + key.toString('hex'));
269+
printConsole("Complete: " + (((new Date()).getTime() - t0) / 1000) + 's');
270+
}, function(error) {
271+
if (error.message === "cancelled") {
272+
printConsole("Cancelled!");
273+
} else {
274+
printConsole("Error: " + error.message);
275+
}
276+
}).then(function() {
277+
submit.classList.remove('cancel');
278+
submit.value = "Compute scrypt";
279+
280+
done = null;
281+
get('progressBar').style.width = '0%';
282+
get('progressAmount').innerHTML = '0%';
278283
});
279284

280285
} else if (done === false) {

0 commit comments

Comments
 (0)