hash_sha1.go 686 B

1234567891011121314151617181920212223242526272829303132
  1. // hash_sha1.go
  2. package main
  3. import (
  4. "crypto/sha1"
  5. "fmt"
  6. "io"
  7. "log"
  8. )
  9. func main() {
  10. hasher := sha1.New()
  11. io.WriteString(hasher, "test")
  12. b := []byte{}
  13. fmt.Printf("Result: %x\n", hasher.Sum(b))
  14. fmt.Printf("Result: %d\n", hasher.Sum(b))
  15. //
  16. hasher.Reset()
  17. data := []byte("We shall overcome!")
  18. n, err := hasher.Write(data)
  19. if n != len(data) || err != nil {
  20. log.Printf("Hash write error: %v / %v", n, err)
  21. }
  22. checksum := hasher.Sum(b)
  23. fmt.Printf("Result: %x\n", checksum)
  24. }
  25. /* Output:
  26. Result: a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
  27. Result: [169 74 143 229 204 177 155 166 28 76 8 115 211 145 233 135 152 47 187 211]
  28. Result: e2222bfc59850bbb00a722e764a555603bb59b2a
  29. */