Bagaimana untuk Melindungi Kata Laluan dalam Aplikasi Golang pada Enjin Apl?

Barbara Streisand
Lepaskan: 2024-10-30 23:25:30
asal
599 orang telah melayarinya

How to Secure Passwords in Golang Applications on App Engine?

Melindungi Kata Laluan di Golang pada Enjin Apl

Mengenai pencincangan kata laluan untuk aplikasi web, keselamatan adalah yang terpenting. Walaupun perpustakaan popular seperti bcrypt tidak sesuai untuk App Engine kerana pergantungan mereka pada panggilan sistem tertentu, terdapat kaedah alternatif yang memberikan tahap perlindungan yang teguh.

Pilihan Pencincangan Selamat

Enjin Aplikasi menyokong algoritma pencincangan melalui pakej go.crypto. Pakej ini menawarkan dua pilihan selamat:

  • pBkdF2 (Fungsi Terbitan Kunci Berasaskan Kata Laluan 2): Fungsi sehala yang berulang yang terkenal dengan ketahanannya terhadap serangan kekerasan.
  • bcrypt: Algoritma pencincangan berasaskan blowfish yang direka khusus untuk penyimpanan kata laluan.

Cadangan: bcrypt

Untuk kemudahan penggunaan dan keberkesanan yang terbukti, bcrypt ialah pilihan yang disyorkan. Ia adalah algoritma yang mudah digunakan yang menghasilkan cincang berkualiti tinggi.

Pelaksanaan

<code class="go">import "golang.org/x/crypto/bcrypt" 

func Crypt(password []byte) ([]byte, error) {
    defer clear(password)
    return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
}

ctext, err := Crypt(pass)

if err != nil {
    log.Fatal(err)
}

fmt.Println(string(ctext))</code>
Salin selepas log masuk

Output akan menyerupai rentetan seperti:

a$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
Salin selepas log masuk

pbkdf2 untuk Pencincangan:

Jika tumpuan adalah semata-mata pada pencincangan berbanding pengesahan kata laluan, pbkdf2 boleh digunakan:

<code class="go">import "golang.org/x/crypto/pbkdf2"

func HashPassword(password, salt []byte) []byte {
    defer clear(password)
    return pbkdf2.Key(password, salt, 4096, sha256.Size, sha256.New)
}

pass := []byte("foo")
salt := []byte("bar")

fmt.Printf("%x\n", HashPassword(pass, salt))</code>
Salin selepas log masuk

Dengan menggunakan ini pilihan pencincangan kata laluan selamat, pembangun boleh melindungi kelayakan pengguna dengan berkesan pada aplikasi Golang yang dijalankan pada Enjin Apl.

Atas ialah kandungan terperinci Bagaimana untuk Melindungi Kata Laluan dalam Aplikasi Golang pada Enjin Apl?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan