PBKDF2 should be efficient. Contributed by Christian Heimes