Функция sha512.New384

Функция sha512.New384 создает новый объект хеша SHA-384, который реализует интерфейс hash.Hash. Она возвращает хеш для вычисления 384-битной контрольной суммы. Функция не принимает никаких параметров и всегда возвращает новый экземпляр хеша.

Синтаксис

gosha512.New384()

Пример

Давайте вычислим хеш SHA-384 для строки "hello world":

gopackage main

import (
  "crypto/sha512"
  "fmt"
)

func main() {
  data := []byte("hello world")
  h := sha512.New384()
  h.Write(data)
  res := h.Sum(nil)
  fmt.Printf("%x", res)
}

Результат выполнения кода:

go"fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

Пример

Давайте вычислим хеш SHA-384 для строки "12345" и выведем результат в виде байтового слайса:

gopackage main

import (
  "crypto/sha512"
  "fmt"
)

func main() {
  data := []byte("12345")
  h := sha512.New384()
  h.Write(data)
  res := h.Sum(nil)
  fmt.Println(res)
}

Результат выполнения кода:

go[200 44 90 226 13 250 42 201 238 94 27 32 222 161 161 36 52 249 248 88 84 243 224 94 168 4 186 190 181 12 132 63 155 244 177 200 86 248 78 133 236 0 233 4 175 213 69 37]

Пример

Давайте вычислим хеш SHA-384 для строки "abcde" с использованием метода Sum с существующим слайсом:

gopackage main

import (
  "crypto/sha512"
  "fmt"
)

func main() {
  data := []byte("abcde")
  h := sha512.New384()
  h.Write(data)
  existing := []byte("prefix:")
  res := h.Sum(existing)
  fmt.Printf("%s", res)
}

Результат выполнения кода:

go"prefix:�[�S|\t0y�4��24���u�>N�M��_\u0006f*�Iq�!�U�7ڎ�\u0002�\u0019"

Смотрите также

  • функцию sha512.New,
    которая создает хеш SHA-512
  • функцию sha512.New512_224,
    которая создает хеш SHA-512/224
  • функцию sha512.New512_256,
    которая создает хеш SHA-512/256
  • функцию sha512.Sum384,
    которая вычисляет хеш SHA-384 без создания объекта