@@ -173,6 +173,11 @@ <h1>scrypt-js</h1>
173
173
< script type ="text/javascript ">
174
174
175
175
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
+ }
176
181
function normalized ( field ) {
177
182
var value = get ( 'pbkdf-' + field ) . value ;
178
183
var forms = document . getElementById ( 'form-' + field ) . getElementsByClassName ( 'selected' ) ;
@@ -229,12 +234,12 @@ <h1>scrypt-js</h1>
229
234
done = false ;
230
235
231
236
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' ) ;
238
243
console . log ( password , salt , N , r , p )
239
244
240
245
} catch ( error ) {
@@ -251,30 +256,30 @@ <h1>scrypt-js</h1>
251
256
', password=0x' + password . toString ( 'hex' ) + ', salt=0x' + salt . toString ( 'hex' ) ) ;
252
257
253
258
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 ; }
275
262
263
+ // Update the progress bar
276
264
get ( 'progressBar' ) . style . width = parseInt ( 100 * progress ) + '%' ;
277
265
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%' ;
278
283
} ) ;
279
284
280
285
} else if ( done === false ) {
0 commit comments