Функция sha1.New
Функция sha1.New создает новый объект, реализующий интерфейс hash.Hash, который позволяет вычислять хеш SHA-1. Она не принимает никаких параметров. Возвращаемое значение представляет собой хеш-объект, который можно использовать для последовательного добавления данных через метод Write и получения итогового хеша через метод Sum. SHA-1 производит хеш длиной 20 байт.
Синтаксис
sha1.New() hash.Hash
Пример
Давайте вычислим SHA-1 хеш для строки "abcde":
package main
import (
"crypto/sha1"
"fmt"
)
func main() {
h := sha1.New()
h.Write([]byte("abcde"))
res := fmt.Sprintf("%x", h.Sum(nil))
fmt.Println(res)
}
Результат выполнения кода:
"6c6418a99a747d8bc47ae5d5295353834827d3cd"
Пример
Давайте вычислим SHA-1 хеш для нескольких частей данных с использованием метода Write:
package main
import (
"crypto/sha1"
"fmt"
)
func main() {
h := sha1.New()
h.Write([]byte("abc"))
h.Write([]byte("de"))
res := fmt.Sprintf("%x", h.Sum(nil))
fmt.Println(res)
}
Результат выполнения кода:
"6c6418a99a747d8bc47ae5d5295353834827d3cd"
Пример
Давайте получим хеш в виде байтового слайса, а не строки:
package main
import (
"crypto/sha1"
"fmt"
)
func main() {
h := sha1.New()
h.Write([]byte("abcde"))
res := h.Sum(nil)
fmt.Println(res)
}
Результат выполнения кода:
[108 100 24 169 154 116 125 139 196 122 229 213 41 83 83 56 52 39 211 205]
Смотрите также
-
функцию
sha1.Sum,
которая вычисляет SHA-1 хеш напрямую без создания хеш-объекта -
функцию
sha256.New,
которая создает объект для вычисления SHA-256 хеша -
функцию
md5.New,
которая создает объект для вычисления MD5 хеша -
интерфейс
hash.Hash,
который реализуют все хеш-объекты в пакете crypto