Hash SHA1

Lo Secure Hash Algorithm 1 è uno degli algoritmi di hash crittografici disponibili in Go.

Lo si può gestire tramite funzioni del package crypto/sha1.

(540sha1-hashes.go):

package main

// Uno dei tanti package crittografici
import "crypto/sha1"
import "fmt"

func main() {
	// Stringa di prova
	s := "sha1 this string"

	// Nuovo oggetto per il parsing
	h := sha1.New()

	// Deve operare su array di byte
	h.Write([]byte(s))

	// L'argomento permette l'append a una slice esistente
	// Indicare 'nil' se non si usa
	bs := h.Sum(nil)

	fmt.Println(s)
	// Stampa come stringa esadecimale
	fmt.Printf("%x\n", bs)
}

Oltre al package sha1, crypto ha numerosi altri packages per altri algoritmi di crittografazione.