golang

Golangi krüptopakett

Golangi krüptopakett
Selles Golangi krüptopaketi õppetükis uurime erinevaid näiteid Go-s olevate Cipherite haldamise ja loomise kohta ning näeme, kuidas krüptopakett aitab meil programmeerimiskeeles Cipher Handling in Go. Alustame kohe.

Alustades Go-ga

Lihtsalt veendumaks, et oleme samal lehel, on siin kataloogistruktuur, mille tegin oma Hello Worldi programmi jaoks:

Siin on meie loodud programm:

paketi peamine
import "fmt"
func main ()
fmt.Printf ("Tere, maailm.\ n ")

Saame ülaltoodud programmi käivitada järgmise käsuga:

mine jookse tere.mine

Kui oleme selle käsu käivitanud, näete siin väljundit:

Nüüd näeb see hea välja. Liigume oma põhiprogrammi juurde.

Krüptopakett Golangis

Krüpto kasutamist Golangis pole eriti lihtne mõista. Selle põhjuseks on selle pakutavad konstruktsioonid ja krüpteerimise ja dekrüpteerimise saavutamiseks järgnev algoritm.

Selles õppetükis uurime neid punkte:

Alustame räsimisest ja paroolide võrdlemisest.

SHA256 krüptimine

Alustame mõnevõrra lihtsast. Proovime väga lihtsat näidet, kuidas SHA256 krüptida Golangi abil. Vaatame näidet:

paketi peamine
import (
"fmt"
"vead"
"krüpto / sha256"
"encoding / base64"
)
func main ()
someText: = "šubham"
hash, err: = hashTextTo32Bytes (someText)
fmt.Printf ("% s \ n% s", räsi, eksimine)

func hashTextTo32Bytes (hashThis string) (räsitud string, viga viga)
kui len (hashThis) == 0
return "", vead.Uus ("Sisendit ei tarnita")

räsi: = sha256.Uus ()
räsi.Kirjutage ([] bait (hashThis))
stringToSHA256: = alus64.URLEkodeerimine.EncodeToString (räsi.Summa (null))
// Lõigake pikkus 32 baiti ja tagastage.
tagastage stringToSHA256 [: 32], null

Alustasime esialgu räsi loomisest. Pärast seda kasutasime seda räsi kirjutamiseks baitide massiivi. Lõpuks kodeerime stringi ja tagastame räsi 32 bitti.

Selle näite käivitamisel saame järgmise väljundi:

Räsimine ja parooli sobitamine

Nüüd kasutame lõpuks räsitud paroolide tootmiseks bcrypt. Hoiame funktsioonid otsesed ja lihtsad.

Lisame ka funktsiooni, mis sobib räsitud parooliga antud stringiga. Nii saame ka kinnitada, kas kasutaja poolt antud parool on õige.  Enne selle koodi käivitamist peate installima bcrypt paketi golang järgmise käsuga:

# mine võta "golang.org / x / crypto / bcrypt "

Seejärel saate selle koodi käivitada:

paketi peamine
import "fmt"
import "golang.org / x / crypto / bcrypt "
func HashPassword (paroolistring) (string, viga)
baidid, viga: = bcrypt.GenerateFromPassword ([] bait (parool), 14)
tagastage string (baidid), viga

func CheckPasswordHash (parool, räsimisstring) bool
eksima: = bcrypt.VõrdleHashAndPassword ([] bait (räsi), [] bait (parool))
tagastamine viga == null

func main ()
myPwd: = "šubham"
biztosítottHash, _: = HashPassword (myPwd)
fmt.Println ("Parool:", myPwd)
fmt.Println ("Hash:", tingimuselHash)
isMatch: = CheckPasswordHash (myPwd, biztosítottHash)
fmt.Println ("Sobitatud ?: ", onMatch)

Selle näite käivitamisel saame järgmise väljundi:

Järeldus

Selles postituses uurisime lihtsaid, kuid kasulikke näiteid selle kohta, kuidas saame krüptopaketti kasutada oma rakendustes väga oluliste ja kasulike toimingute tegemiseks.

Kuidas muuta hiire ja puuteplaatide kerimise suund Windows 10-s ümber
Hiir ja PuuteplaatNeed muudavad arvutamise mitte ainult lihtsaks, vaid ka tõhusamaks ja vähem aeganõudvaks. Me ei kujuta ette elu ilma nende seadmetet...
Kuidas muuta hiirekursori ja kursori suurust, värvi ja skeemi Windows 10-s
Windows 10 hiirekursor ja kursor on operatsioonisüsteemi väga olulised aspektid. Seda võib öelda ka teiste opsüsteemide kohta, nii et tegelikult pole ...
Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...