golang

Golang-Kryptopaket

Golang-Kryptopaket
In dieser Lektion zum Crypto-Paket in Golang werden wir verschiedene Beispiele zum Verwalten und Erstellen von Verschlüsselungen in Go studieren und sehen, wie uns das Crypto-Paket in Bezug auf die Verschlüsselungshandhabung in der Programmiersprache Go hilft. Wir fangen jetzt an.

Beginnend mit Go

Nur um sicherzustellen, dass wir auf der gleichen Seite sind, hier ist die Verzeichnisstruktur, die ich für mein Hello World-Programm erstellt habe:

Hier ist das von uns erstellte Programm:

Hauptpaket
"fmt" importieren
func main()
fmt.Printf("Hallo Welt.\n")

Wir können das obige Programm mit dem folgenden Befehl ausführen:

geh laufen hallo.gehen

Sobald wir diesen Befehl ausführen, sehen Sie hier die Ausgabe:

Das sieht jetzt gut aus. Kommen wir zu unserer Hauptagenda.

Krypto-Paket in Golang

Die Verwendung von Crypto in Golang ist nicht sehr leicht zu verstehen. Dies liegt an den bereitgestellten Konstrukten und dem Algorithmus, dem er folgt, um eine Verschlüsselung und Entschlüsselung zu erreichen.

In dieser Lektion werden wir diese Punkte untersuchen:

Beginnen wir mit dem Hashing und dem Vergleich von Passwörtern.

SHA256-Verschlüsselung

Wir beginnen mit etwas einfach. Wir werden ein sehr einfaches Beispiel ausprobieren, wie man eine SHA256-Verschlüsselung mit Golang . durchführt. Schauen wir uns das Beispiel an:

Hauptpaket
importieren (
"fmt"
"Fehler"
"crypto/sha256"
"kodierung/base64"
)
func main()
someText := "shubham"
hash, err := hashTextTo32Bytes(someText)
fmt.Printf("%s\n %s", hash, err)

func hashTextTo32Bytes(hashThis string) (gehashter String, Fehlerfehler)
if len(hashThis) == 0
Rückgabe "", Fehler.New("Keine Eingabe bereitgestellt")

hasher := sha256.Neu()
hasher.Schreiben([]byte(hashThis))
stringToSHA256 := base64.URL-Codierung.EncodeToString(Hasher.Summe (null))
// Reduziere die Länge auf 32 Byte und kehre zurück.
return stringToSHA256[:32], nil

Wir haben zunächst mit der Erstellung eines Hashers begonnen. Anschließend haben wir damit den Hash in ein Byte-Array geschrieben. Schließlich codieren wir den String und geben die 32 Bit Hash zurück.

Wenn wir dieses Beispiel ausführen, erhalten wir die folgende Ausgabe:

Hashing und Abgleich von Passwörtern

Jetzt werden wir endlich bcrypt verwenden, um gehashte Passwörter zu erstellen. Wir werden die Funktionen direkt und einfach halten.

Wir werden auch eine Funktion einfügen, die das gehashte Passwort mit einem bestimmten String abgleicht. Auf diese Weise können wir auch überprüfen, ob das vom Benutzer angegebene Passwort korrekt ist.  Bevor dieser Code ausgeführt wird, muss das Golang-Paket für bcrypt mit dem folgenden Befehl installiert werden:

# geh "golang .".org/x/crypto/bcrypt"

Dann können Sie diesen Code ausführen:

Hauptpaket
"fmt" importieren
"golang . importieren.org/x/crypto/bcrypt"
func HashPassword(Passwort-String) (String, Fehler)
Bytes, err := bcrypt.GenerateFromPassword([]Byte(Passwort), 14)
Rückgabestring (Bytes), err

func CheckPasswordHash(Passwort, Hash-String) bool
err := bcrypt.CompareHashAndPassword([]Byte(Hash), []Byte(Passwort))
Rückgabefehler == null

func main()
myPwd := "shubham"
bereitgestelltHash, _ := HashPassword(myPwd)
fmt.Println("Passwort:", myPwd)
fmt.Println("Hash:", bereitgestelltHash)
isMatch := CheckPasswordHash(myPwd, bereitgestellterHash)
fmt.Println("Matched ?:", isMatch)

Wenn wir dieses Beispiel ausführen, erhalten wir die folgende Ausgabe:

Fazit

In diesem Beitrag haben wir einfache, aber nützliche Beispiele dafür untersucht, wie wir Krypto-Pakete verwenden können, um Aktionen durchzuführen, die in unseren Anwendungen sehr wichtig und nützlich sind.

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...