Hash and compare asynchronously with explicit UTF-8 byte limits and stored cost inspection.
Use bcryptjs 2.x for asynchronous password hashing and comparison, explicit UTF-8 input limits, stored work-factor inspection, and controlled rehash decisions without v3-only APIs.