"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como proteger senhas de usuário no Go no App Engine?

Como proteger senhas de usuário no Go no App Engine?

Publicado em 2024-11-08
Navegar:576

How to Secure User Passwords in Go on App Engine?

Protegendo senhas de usuários no Go no App Engine

Ao lidar com senhas de usuários em aplicativos Go implantados no Google App Engine, a segurança é fundamental. A biblioteca bcrypt, embora eficaz no hash de senhas, apresenta limitações devido ao uso do syscall. Por esse motivo, os desenvolvedores podem buscar métodos alternativos para hash de senha seguro.

Uma opção confiável é aproveitar o pacote golang.org/x/crypto, que fornece implementações nativas de PBKDF2 e bcrypt. Essas implementações eliminam a dependência do syscall, tornando-as adequadas para o App Engine.

Uso do bcrypt

Para utilizar o bcrypt, siga estas etapas:

1. Install the package:

go get golang.org/x/crypto/bcrypt
2. Example usage:

package main

import (
    "fmt"
    "golang.org/x/crypto/bcrypt"
)

func main() {
    pass := []byte("your password")

    // Generate a hashed password
    ctext, err := bcrypt.GenerateFromPassword(pass, bcrypt.DefaultCost)
    if err != nil {
        // Handle error
    }

    fmt.Println(string(ctext)) // Example output: $2a$10$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
}

Usando PBKDF2

Para necessidades de hash mais simples, PBKDF2 pode ser usado:

1. Install the package:

go get golang.org/x/crypto/pbkdf2
2. Example usage:

package main

import (
    "fmt"
    "golang.org/x/crypto/pbkdf2"
)

func main() {
    pass := []byte("your password")
    salt := []byte("your salt")

    // Generate a hash
    hash := pbkdf2.Key(pass, salt, 4096, sha256.Size, sha256.New)

    fmt.Printf("%x\n", hash) // Example output: 0x079b8238d3815d31d87d75ff893371ac3cc875f97eca499854655da9554d2555
}
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3