hashPayload
Hashes the payload for use as the WebAuthn challenge.
The challenge is SHA-256(payload). During authentication, the passkey signs authenticatorData || SHA-256(clientDataJSON) where clientDataJSON contains our challenge. This transitively binds the signature to the payload.