code: function(he,me){// Generate key
  // Init HMAC
  // Initial values
  // Shortcuts
  for(// Shortcut
  var ge=this.cfg,_e=ue.create(ge.hasher,he),ve=fe.create(),Se=fe.create([1]),ke=ve.words,Ie=Se.words,Ae=ge.keySize,we=ge.iterations,Ee;ke.length<Ae;){Ee=_e.update(me).finalize(Se),_e.reset();// Iterations
  for(var Pe=Ee.words,Be=Pe.length,Re=Ee,Te=1;Te<we;Te++){Re=_e.finalize(Re),_e.reset();// XOR intermediate with block
  for(var Oe=Re.words,Ce=0;Ce<Be;Ce++)Pe[Ce]^=Oe[Ce]}ve.concat(Ee),Ie[0]++}return ve.sigBytes=4*Ae,ve}
docs: Computes the Password-Based Key Derivation Function 2.
  
  @param {WordArray|string} password The password.
  @param {WordArray|string} salt A salt.
  
  @return {WordArray} The derived key.
  
  @example
  
  var key = kdf.compute(password, salt);