using Crypto for PBKDF2 instead of a third library