РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1210 of 1593 menu

Функция 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
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить