golang

Krypto balíček Golang

Krypto balíček Golang
V této lekci o balíčku Crypto v Golangu si prostudujeme různé příklady správy a vytváření šifer v Go a zjistíme, jak nám balíček Crypto pomáhá v programovacím jazyce Cipher Handling in Go. Začneme hned.

Počínaje Go

Abychom se ujistili, že jsme na stejné stránce, zde je adresářová struktura, kterou jsem vytvořil pro svůj program Hello World:

Zde je program, který jsme vytvořili:

balíček hlavní
importovat „fmt“
func main ()
fmt.Printf („Ahoj, svět.\ n ")

Výše uvedený program můžeme spustit pomocí následujícího příkazu:

běž běž ahoj.jít

Jakmile spustíme tento příkaz, uvidíte výstup, který uvidíte:

Teď to vypadá dobře. Pojďme k naší hlavní agendě.

Krypto balíček v Golangu

Používání kryptoměny v Golangu není snadné pochopit. Důvodem jsou konstrukce, které poskytuje, a algoritmus, který používá k dosažení šifrování a dešifrování.

V této lekci si prostudujeme tyto body:

Začněme hašováním a porovnáním hesel.

Šifrování SHA256

Začneme poněkud jednoduchým. Pokusíme se o velmi jednoduchý příklad, jak provést šifrování SHA256 pomocí Golangu. Podívejme se na příklad:

balíček hlavní
import (
"fmt"
"chyby"
„crypto / sha256“
„encoding / base64“
)
func main ()
someText: = "shubham"
hash, err: = hashTextTo32Bytes (someText)
fmt.Printf ("% s \ n% s", hash, chyba)

func hashTextTo32Bytes (hashThis string) (hashed string, err error)
if len (hashThis) == 0
návrat "", chyby.Nové („Není zadán žádný vstup“)

hasher: = sha256.Nový()
hasher.Zápis ([] bajt (hashThis))
stringToSHA256: = base64.URLEncoding.EncodeToString (hash.Součet (nula))
// Zkraťte délku na 32 bytů a vraťte se.
return stringToSHA256 [: 32], nil

Začali jsme vytvořením hash zpočátku. V návaznosti na to jsme jej použili k zápisu hodnoty hash do bajtového pole. Nakonec kódujeme řetězec a vrátíme 32 bitů hash.

Když spustíme tento příklad, získáme následující výstup: When we run this example, we will get the following output:

Hašovací a odpovídající heslo

Nyní konečně použijeme bcrypt k výrobě hashovaných hesel. Budeme udržovat funkce přímé a jednoduché.

Zahrneme také funkci, která odpovídá hašovanému heslu k danému řetězci. Tímto způsobem můžeme také potvrdit, zda je heslo poskytnuté uživatelem správné.  Před spuštěním tohoto kódu bude nutné nainstalovat balíček golang pro bcrypt pomocí následujícího příkazu:

# go get "golang.org / x / crypto / bcrypt "

Pak můžete spustit tento kód:

balíček hlavní
importovat „fmt“
import "golang.org / x / crypto / bcrypt "
func HashPassword (řetězec hesla) (řetězec, chyba)
bajty, chyba: = bcrypt.GenerateFromPassword ([] byte (heslo), 14)
návratový řetězec (bajty), chyba

func CheckPasswordHash (heslo, hash řetězec) bool
err: = bcrypt.CompareHashAndPassword ([] byte (hash), [] byte (heslo))
return err == nil

func main ()
myPwd: = "shubham"
providedHash, _: = HashPassword (myPwd)
fmt.Println ("Heslo:", myPwd)
fmt.Println ("Hash:", providedHash)
isMatch: = CheckPasswordHash (myPwd, providedHash)
fmt.Println ("Shoda ?: ", isMatch)

Když spustíme tento příklad, získáme následující výstup:

Závěr

V tomto příspěvku jsme studovali jednoduché, ale užitečné příklady toho, jak můžeme pomocí krypto balíku provádět akce velmi důležité a užitečné v našich aplikacích.

Jak změnit velikost, barvu a schéma kurzoru myši a kurzoru v systému Windows 10
Ukazatel myši a kurzor ve Windows 10 jsou velmi důležité aspekty operačního systému. To lze říci i pro jiné operační systémy, takže ve skutečnosti nej...
Hry Zdarma a open source herní motory pro vývoj linuxových her
Zdarma a open source herní motory pro vývoj linuxových her
Tento článek pokryje seznam bezplatných a otevřených herních enginů, které lze použít pro vývoj 2D a 3D her v systému Linux. Existuje mnoho takových h...
Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...