Servidor Couchbase

Armazenamento seguro de dados de senha no Couchbase com Golang e BCrypt

Ao criar aplicativos da Web que armazenam senhas para seus usuários, nunca é uma boa ideia armazená-las como texto simples em seu banco de dados, seja ele NoSQL ou RDBMS. No ano passado, escrevi sobre Usando o BCrypt com Node.js e Couchbase bem como Usando o BCrypt com Java e Couchbase. E se quisermos levar isso para a Golang?

Veremos como fazer hash de senhas em um aplicativo Golang usando o BCrypt para armazená-las com segurança em Couchbase.

Para esclarecer, estamos interessados no hashing de senhas, não na criptografia de senhas, pois a criptografia implica que a decodificação é possível. O hashing é um processo unidirecional.

O melhor de tudo em Go é que há um BCrypt incorporado. Ao usar esse pacote ou fazer qualquer coisa relacionada ao BCrypt, você se concentrará em duas funções. A geração de um hash e a comparação ou validação de um hash.

Em Go, você poderia gerar um novo hash com base na string de senha, como a seguir:

Usando o GenerateFromPassword você passa uma cadeia de caracteres, bem como um valor de custo. Quanto maior o valor do custo, mais lenta será a função, pois o valor do custo é o número de vezes que o hash é aplicado.

Se você quiser ver se uma senha de texto simples corresponde a uma senha com hash, poderá executar o seguinte:

Se não houver erro, as senhas coincidiram.

Então, como você pode usar essa funcionalidade de hash de senha com o Couchbase?

Veja, por exemplo, o seguinte:

O exemplo acima é muito simples, mas mostra como você pode armazenar a senha do BCrypt e como compará-la.

Conclusão

Você acabou de ver como usar o BCrypt em um aplicativo Golang. É fundamental que as informações confidenciais, como senhas, sejam transformadas em hash antes de serem colocadas em seu banco de dados, seja ele NoSQL ou outro.

Para obter mais informações sobre como usar o Couchbase com a Golang, consulte a seção Portal do desenvolvedor do Couchbase.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Nic Raboy, defensor dos desenvolvedores, Couchbase

Nic Raboy é um defensor das modernas tecnologias de desenvolvimento móvel e da Web. Ele tem experiência em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experiências de desenvolvimento relacionadas a tornar o desenvolvimento móvel e da Web mais fácil de entender.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.