«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как защитить пароли пользователей в Go на App Engine?

Как защитить пароли пользователей в Go на App Engine?

Опубликовано 8 ноября 2024 г.
Просматривать:100

How to Secure User Passwords in Go on App Engine?

Защита паролей пользователей в Go на App Engine

При обработке паролей пользователей в приложениях Go, развернутых на Google App Engine, безопасность имеет первостепенное значение. Библиотека bcrypt, хотя и эффективна для хеширования паролей, но имеет ограничения из-за использования системных вызовов. По этой причине разработчики могут искать альтернативные методы безопасного хеширования паролей.

Один надежный вариант — использовать пакет golang.org/x/crypto, который предоставляет собственные реализации PBKDF2 и bcrypt. Эти реализации устраняют зависимость от системного вызова, что делает их пригодными для App Engine.

Использование bcrypt

Чтобы использовать bcrypt, выполните следующие действия:

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
}

Использование PBKDF2

Для более простых задач хеширования можно использовать PBKDF2:

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
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3