finished PBKDF2 function and added helper methods

salt is salt temporarily