node-bcrypt зависит от собственной поддержки OpenSSL.В текущей конфигурации он не будет работать в браузере.Согласно этому вопросу , не существует чистых реализаций jcascript в bcrypt, но у blowfish, аналогичного алгоритма, есть чисто реализации javascript.
Для вопроса 2 придерживайтесь стандарта TLS (через HTTPS) для вашего сквозного шифрования.Скорее всего, ваши функциональные требования требуют чего-то особенного.