Minimalist PBKDF2 (RFC 2898) with HMAC and choice of digest function