Hashes a freshly-typed plaintext portal password. The UI password field
accepts a plaintext value; when it is not already an encoded scrypt hash and
carries a non-blank value, it is hashed here on save so password/both auth
works without the user pre-computing a hash. A blank or whitespace-only entry
is left untouched so the auth gate rejects it instead of minting a valid hash
for an effectively empty password. An untouched field arrives as the MASK and
has already been restored to the stored hash by restoreMasked.
Hashes a freshly-typed plaintext portal password. The UI password field accepts a plaintext value; when it is not already an encoded scrypt hash and carries a non-blank value, it is hashed here on save so password/
bothauth works without the user pre-computing a hash. A blank or whitespace-only entry is left untouched so the auth gate rejects it instead of minting a valid hash for an effectively empty password. An untouched field arrives as the MASK and has already been restored to the stored hash by restoreMasked.