Bcrypt
🔐 Criando hash de senha
$ yarn add bcryptjs
- Importar o bcrypt no model
import bcrypt from 'bcryptjs'
- Inserir o campo password utilizando Sequelize.VIRTUAL (este campo nunca estará presente no banco de dados, por ser virtual).
- Criar hook para que antes de ser salvo, criar um hash na senha.
Exemplo Model de Usuário
:
import Sequelize, { Model } from 'sequelize';import bcrypt from 'bcryptjs';class User extends Model {static init(sequelize) {super.init({name: Sequelize.STRING,email: Sequelize.STRING,password: Sequelize.VIRTUAL,password_hash: Sequelize.STRING,},{sequelize,});this.addHook('beforeSave', async (user) => {if (user.password) {user.password_hash = await bcrypt.hash(user.password, 8);}});return this;}}export default User;