use pbkdf2 for mobile codes given that keyspace is so small