Bcrypt не подходит, шифрование одностороннее, т.е. исходные данные из зашифрованных не получить.
Есть библиотека с многими популярными алгоритмами шифрования, можно использовать, например, AES
https://github.com/brix/crypto-js
Под браузер тоже, кажется, работает (не тестил)
Где хранить - вопрос логики приложения. Если предполагается, что данные пользователя хранятся на сервере в зашифрованном виде - то лучше секреты нигде не хранить, а спрашивать у пользователя в момент расшифровки на клиенте.