22 lines
		
	
	
		
			509 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			509 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var tape = require('tape')
 | 
						|
var crypto = require('pbkdf2/browser')
 | 
						|
 | 
						|
var vectors = require('hash-test-vectors/pbkdf2')
 | 
						|
 | 
						|
tape('pbkdf2', function (t) {
 | 
						|
  vectors.forEach(function (input) {
 | 
						|
    // skip inputs that will take way too long
 | 
						|
    if (input.iterations > 10000) return
 | 
						|
 | 
						|
    var key = crypto.pbkdf2Sync(input.password, input.salt, input.iterations, input.length)
 | 
						|
 | 
						|
    if (key.toString('hex') !== input.sha1) {
 | 
						|
      console.log(input)
 | 
						|
    }
 | 
						|
 | 
						|
    t.equal(key.toString('hex'), input.sha1)
 | 
						|
  })
 | 
						|
 | 
						|
  t.end()
 | 
						|
})
 |