golang

Golang kriptogrāfijas pakete

Golang kriptogrāfijas pakete
Šajā nodarbībā par kriptogrāfijas paketi Golangā mēs pētīsim dažādus piemērus par Ciphers pārvaldību un izveidi Go un redzēsim, kā Crypto pakete mums palīdz attiecībā uz Cipher Handling in Go programmēšanas valodu. Mēs sāksim tagad.

Sākot ar Go

Lai pārliecinātos, ka atrodamies vienā lapā, šeit ir direktoriju struktūra, ko izveidoju savai Hello World programmai:

Šeit ir programma, kuru mēs izveidojām:

paketes galvenā
importēt "fmt"
func main ()
fmt.Printf ("Sveika, pasaule.\ n ")

Mēs varam palaist iepriekš minēto programmu ar šādu komandu:

ej skriet sveiki.aiziet

Kad mēs palaidīsim šo komandu, šeit redzēsit izeju:

Tagad tas izskatās labi. Pārejam uz mūsu galveno darba kārtību.

Kripto pakete Golangā

Kripto izmantošana Golangā nav ļoti viegli saprotama. Tas ir saistīts ar tā piedāvātajām konstrukcijām un algoritmu, ar kuru tas tiek panākts, lai panāktu šifrēšanu un atšifrēšanu.

Šajā nodarbībā mēs pētīsim šos punktus:

Sāksim ar hashingu un paroļu salīdzināšanu.

SHA256 šifrēšana

Mēs sāksim ar nedaudz vienkāršu. Mēs izmēģināsim ļoti vienkāršu piemēru, kā veikt SHA256 šifrēšanu, izmantojot Golang. Apskatīsim piemēru:

paketes galvenā
imports (
"fmt"
"kļūdas"
"crypto / sha256"
"kodējums / base64"
)
func main ()
someText: = "šubhems"
hash, err: = hashTextTo32Bytes (someText)
fmt.Printf ("% s \ n% s", jaucējkrāsa, kļūda)

func hashTextTo32Bytes (hashThis string) (jaukta virkne, kļūdas kļūda)
ja len (hashThis) == 0
atgriešanās "", kļūdas.Jauns ("Nav ievadīta ievade")

jaucējs: = sha256.Jauns ()
hasher.Rakstīt ([] baits (hashThis))
stringToSHA256: = base64.URLEkodēšana.EncodeToString (hasher.Summa (nulle))
// Izgrieziet garumu līdz 32 baitiem un atgriezieties.
atgriezties stringToSHA256 [: 32], nulle

Sākumā mēs sākotnēji izveidojām jaucēju. Pēc tam mēs to izmantojām, lai rakstītu hash baitu masīvā. Visbeidzot, mēs kodējam virkni un atgriežam 32 bitus jaucējkrāsa.

Palaižot šo piemēru, mēs iegūsim šādu rezultātu:

Jaukšanas un saskaņošanas parole

Tagad mēs beidzot izmantosim bcrypt, lai izveidotu Hashed paroles. Mēs saglabāsim funkcijas tieši un vienkārši.

Mēs iekļausim arī funkciju, kas sajaukto paroli saskaņo ar noteiktu virkni. Tādā veidā mēs varam arī apstiprināt, vai lietotāja norādītā parole ir pareiza.  Pirms šī koda palaišanas būs jāinstalē pakete golang bcrypt ar šādu komandu:

# iet paņemt "golang.org / x / crypto / bcrypt "

Tad jūs varat izpildīt šo kodu:

paketes galvenā
importēt "fmt"
ievest "golang.org / x / crypto / bcrypt "
func HashPassword (paroles virkne) (virkne, kļūda)
baiti, kļūdīties: = bcrypt.GenerateFromPassword ([] baits (parole), 14)
atgriezties virkni (baiti), kļūdīties

func CheckPasswordHash (parole, jaukšanas virkne) bool
kļūdīties: = brypt.CompareHashAndPassword ([] baits (jaucējkrāsa), [] baits (parole))
atgriezties kļūdaini == nulle

func main ()
myPwd: = "šubhems"
numatytaHash, _: = HashPassword (myPwd)
fmt.Println ("Parole:", myPwd)
fmt.Println ("Hash:", nosacījumsHash)
isMatch: = CheckPasswordHash (myPwd, biztosítottHash)
fmt.Println ("Atbilst ?: ", isMatch)

Izpildot šo piemēru, mēs iegūsim šādu izvadi:

Secinājums

Šajā ziņojumā mēs izpētījām vienkāršus, bet noderīgus piemērus par to, kā mēs varam izmantot kriptogrāfijas pakotni, lai veiktu mūsu lietojumprogrammās ļoti svarīgas un noderīgas darbības.

OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...