Во-первых, я хочу отметить, что я не думаю, что это хорошая идея. Обычно плохая идея использовать хеширование паролей на стороне клиента. Вместо этого передача должна быть отправлена в виде простого текста (через HTTPS) на сервер, где она затем хэшируется с использованием вашего предпочтительного алгоритма перед хранением. Это дает дополнительное преимущество в том, что потенциальные злоумышленники не размещают рекламу, в которой используется метод хеширования, поскольку этот код существует только на сервере.
Тем не менее, вы хотите вычислить это значение SHA до отправки формы.
Вы можете привязать обработчик события к событию размытия поля пароля, чтобы обновить значение скрытого поля новым хэшем. Или вы можете добавить логику обновления в код проверки.
Независимо от того, куда добавляется дополнительный код, вам будет гораздо проще подготовить хеш до к отправке формы, чем отправлять вторую погоню за отправкой после первой.
1011 * Е.Г. *
<!-- add this to the form -->
<input type="hidden" name="sha_pass" value="" />
// add this to the document ready handler
$('[name=pass]').blur(function() {
$('[name=sha_pass]').val($.sha256($(this).val());
});