php-Editor Baicao kann bei der Verwendung von Golang Gorm Fiber und argon2.Config auf „undefinierte“ Probleme stoßen. Dieses Problem wird hauptsächlich durch das Fehlen einer entsprechenden Definition oder Konfiguration verursacht. Um dieses Problem zu lösen, müssen wir prüfen, ob die entsprechenden Bibliotheken und Konfigurationen korrekt eingeführt werden und sicherstellen, dass sie im Code korrekt verwendet und aufgerufen werden. Durch sorgfältige Prüfung und Fehlerbehebung können wir dieses Problem beheben und dafür sorgen, dass unser Code ordnungsgemäß ausgeführt wird.
Ich versuche, von PHP auf GO umzusteigen, aber ich stecke nicht fest und bitte um Ihre Hilfe.
Ich versuche, eine kryptografische Hash-Funktion mit Argon2 zu erstellen, erhalte jedoch ständig die Fehlermeldung „Undefiniert: argon2.Config“, wenn ich „argon2.Config{}“ verwende. Ich habe das Projekt mehrmals neu kompiliert, kann aber anscheinend keine Lösung finden. Ich bitte um Ihre Hilfe bei der Lösung dieses Problems.
func hashPassword(password string) []byte { // Şifreleme parametreleri timeCost := 1 // İşlem süresi memory := 64 * 1024 // // Bellek miktarı threads := 4 // İş parçacığı sayısı keyLength := 32 // Oluşturulacak hash uzunluğu salt := []byte("unique_salt") // Her kullanıcı için benzersiz // Argon2 işlemi için hasher oluştur hasher := argon2.Config{ Time: uint32(timeCost), Memory: uint32(memory), Threads: uint8(threads), KeyLen: uint32(keyLength), } // Şifreyi hashle hashedPassword := hasher.Hash(password, salt, nil) return hashedPassword }
wenn Sie die Paketmethode "golang.org/x/crypto/argon2"
您可以使用 argon2.IDKey()
verwenden. Hier ist ein funktionierendes Beispiel:
func HashPassword(password string) (hashedPassword string) { const ( timeCost uint32 = 1 // İşlem süresi memory uint32 = 64 * 1024 // // Bellek miktarı threads uint8 = 4 // İş parçacığı sayısı keyLength uint32 = 32 // Oluşturulacak hash uzunluğu ) salt := []byte("unique_salt") // Her kullanıcı için benzersiz // generate hashedpassword hash := argon2.IDKey([]byte(password), salt, timeCost, memory, threads, keyLength) // Base64 encode the salt and hashed password. b64Salt := base64.RawStdEncoding.EncodeToString(salt) b64Hash := base64.RawStdEncoding.EncodeToString(hash) format := "$argon2id$v=%d$models=%d,t=%d,p=%d$%s$%s" // final password in recommended format hashedPassword = fmt.Sprintf(format, argon2.Version, memory, timeCost, threads, b64Salt, b64Hash) return hashedPassword }
Das obige ist der detaillierte Inhalt vonGolang Gorm Fiber/argon2.Config undefiniert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!