Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melindungi Kata Laluan Pengguna dalam Go on App Engine?

Bagaimana untuk Melindungi Kata Laluan Pengguna dalam Go on App Engine?

DDD
DDDasal
2024-10-30 08:42:28329semak imbas

How to Secure User Passwords in Go on App Engine?

Melindungi Kata Laluan Pengguna dalam Go on App Engine

Apabila mengendalikan kata laluan pengguna dalam aplikasi Go yang digunakan pada Google App Engine, keselamatan adalah yang terpenting. Pustaka bcrypt, walaupun berkesan dalam pencincangan kata laluan, menimbulkan batasan kerana penggunaan syscall. Atas sebab ini, pembangun boleh mencari kaedah alternatif untuk pencincangan kata laluan selamat.

Satu pilihan yang boleh dipercayai ialah memanfaatkan pakej golang.org/x/crypto, yang menyediakan pelaksanaan asli PBKDF2 dan bcrypt. Pelaksanaan ini menghapuskan pergantungan pada syscall, menjadikannya sesuai untuk Enjin Apl.

Menggunakan bcrypt

Untuk menggunakan bcrypt, ikut langkah berikut:

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: a$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
}

Menggunakan PBKDF2

Untuk keperluan pencincangan yang lebih mudah, PBKDF2 boleh digunakan:

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
}

Atas ialah kandungan terperinci Bagaimana untuk Melindungi Kata Laluan Pengguna dalam Go on App Engine?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn