golang

Golang Crypto Package

Golang Crypto Package
Ebben a leckében a golangi Crypto csomagról különböző példákat fogunk tanulmányozni a Ciphers in Go kezeléséről és létrehozásáról, és megnézzük, hogy a Crypto csomag hogyan segít nekünk a Cipher Handling in Go programozási nyelv tekintetében. Most elkezdjük.

Kezdve a Go-val

Csak azért, hogy megbizonyosodjunk arról, hogy ugyanazon az oldalon vagyunk, itt van a könyvtárszerkezet, amelyet a Hello World programhoz készítettem:

Itt van a létrehozott program:

csomag fő
import "fmt"
func main ()
fmt.Printf ("Helló, világ!.\ n ")

A fenti programot a következő paranccsal futtathatjuk:

menj szaladj hello.megy

Miután futtattuk ezt a parancsot, itt látható a kimenet:

Most ez jól néz ki. Térjünk át a fő menetrendünkre.

Kripto csomag Golangban

A Crypto használatát Golangban nem nagyon könnyű megérteni. Ennek oka az általa biztosított konstrukciók és az általa követett algoritmus a titkosítás és a visszafejtés elérése érdekében.

Ebben a leckében ezeket a pontokat tanulmányozzuk:

Kezdjük hash-szal és a jelszavak összehasonlításával.

SHA256 titkosítás

Kezdjük valamivel egyszerűbbel. Megpróbálunk egy nagyon egyszerű példát arra, hogyan lehet egy SHA256 titkosítást végrehajtani a Golang segítségével. Nézzük meg a példát:

csomag fő
import (
"fmt"
"hibák"
"crypto / sha256"
"encoding / base64"
)
func main ()
someText: = "shubham"
hash, err: = hashTextTo32Bytes (someText)
fmt.Printf ("% s \ n% s", hash, tévedés)

func hashTextTo32Bytes (hashThis string) (hash karakterlánc, hibás hiba)
ha len (hashThis) == 0
return "", hibák.Új ("Nincs bemenet megadva")

hasher: = sha256.Új()
hasher.Írás ([] bájt (hashThis))
stringToSHA256: = alap64.URLEkódolás.EncodeToString (hasher.Összeg (nulla)
// Vágja le a hosszt 32 bájtra, és térjen vissza.
return stringToSHA256 [: 32], nulla

Először hash létrehozásával kezdtük. Ezt követően arra használtuk, hogy a kivonatot bájt tömbbe írjuk. Végül kódoljuk a String-et, és visszaadjuk a 32 bit hash-ot.

Amikor futtatjuk ezt a példát, a következő kimenetet kapjuk:

Hashing és egyező jelszó

Most végre a bcrypt-et fogjuk használni a hasított jelszavak előállításához. A funkciókat közvetlenek és egyszerűek fogjuk tartani.

Tartalmazunk egy olyan funkciót is, amely a kivonatolt jelszót egy adott karakterlánchoz illeszti. Így megerősíthetjük azt is, hogy a felhasználó által megadott jelszó helyes-e.  A kód futtatása előtt telepítenie kell a golang csomagot a bcrypt számára a következő paranccsal:

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

Ezután végrehajthatja ezt a kódot:

csomag fő
import "fmt"
import "golang.org / x / crypto / bcrypt "
func HashPassword (jelszó karakterlánc) (karakterlánc, hiba)
bájt, tévedés: = bcrypt.GenerateFromPassword ([] bájt (jelszó), 14)
return string (byte), tévedés

func CheckPasswordHash (jelszó, hash karakterlánc) bool
tévedés: = bcrypt.CompareHashAndPassword ([] byte (hash), [] byte (password))
return err == nulla

func main ()
myPwd: = "shubham"
biztosítottHash, _: = HashPassword (myPwd)
fmt.Println ("Jelszó:", myPwd)
fmt.Println ("Hash:", feltételes hash)
isMatch: = CheckPasswordHash (myPwd, biztosítottHash)
fmt.Println ("Megfelelő ?: ", isMatch)

Amikor futtatjuk ezt a példát, a következő kimenetet kapjuk:

Következtetés

Ebben a bejegyzésben egyszerű, de hasznos példákat tanulmányoztunk arról, hogyan használhatjuk a titkosítási csomagot az alkalmazásokban nagyon fontos és hasznos műveletek végrehajtására.

A legnépszerűbb Oculus App Lab játékok
Ha Oculus fülhallgató-tulajdonos, akkor tisztában kell lennie az oldalsó töltéssel. Az oldaltöltés a nem áruházi tartalom fejhallgatóra történő telepí...
A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...