Apabila berhijrah dari Node.js ke Golang untuk pengesahan pengguna, menjajarkan pencincangan kata laluan antara rangka kerja adalah penting. Node.js menggunakan pakej 'bcrypt' untuk pencincangan kata laluan selamat, yang menimbulkan persoalan: Bagaimana untuk mencapai tahap keselamatan yang sama di Golang?
Golang Bcrypt Equivalent
Untuk memadankan mekanisme pencincangan yang digunakan oleh pakej 'bcrypt' Node.js, Golang menawarkan penyelesaian dalam bentuk Pakej 'golang.org/x/crypto/bcrypt'. Kod yang setara dalam Golang ialah:
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
Contoh Pelaksanaan
Pertimbangkan contoh yang berfungsi ini di Golang:
package main import ( "golang.org/x/crypto/bcrypt" "fmt" ) func main() { password := []byte("MyDarkSecret") // Hashing the password with the default cost of 10 hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { panic(err) } fmt.Println(string(hashedPassword)) // Comparing the password with the hash err = bcrypt.CompareHashAndPassword(hashedPassword, password) fmt.Println(err) // nil means it is a match }
Dengan kod ini , anda dengan yakin boleh memindahkan logik pengesahan anda ke Golang, memastikan tahap keselamatan kata laluan yang sama adalah dikekalkan.
Atas ialah kandungan terperinci Golang vs. Node.js: Bagaimana untuk Mengekalkan Keselamatan Hashing Kata Laluan Bcrypt Semasa Pemindahan Rangka Kerja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!