Carregando...
Nesta seção, você pode encontrar um exemplo de código para a geração da bcryptPassword, campo necessário na mutation createUser e na geração do challenge - utilizado na mutation login.
Para mais informações sobre como gerar a bcryptPassword, acesse a documentação da API Cadastro do Portador.
O exemplo a seguir foi feito em Node.js e foram utilizadas as bibliotecas bcryptjs e crypto-js. Para instalá-las, pode rodar o comando** npm i bcryptjs crypto-js**
import bcrypt from 'bcryptjs' import crypto from 'crypto-js' function hexToBytes(hex) { let bytes = [] for (let c = 0; c < hex.length; c += 2) { bytes.push(parseInt(hex.substr(c, 2), 16)) } return bytes } async function generateBcryptPassword(username, password) { const usernameSha256 = crypto.SHA256(username.toString()) const usernameSalt = `$2a$12$${bcrypt.encodeBase64( hexToBytes(usernameSha256.toString()), 16 )}` const passwordSha256 = crypto.SHA256(password.toString()) const base64Password = crypto.enc.Base64.stringify(passwordSha256) const bcryptPassword = bcrypt.hashSync(base64Password, usernameSalt) return bcryptPassword } // Exibe no console a bcryptPassword gerada a partir do usuário 'username' e senha 'password' console.log(await generateBcryptPassword('username', 'password'))