Функция sha512.Sum512

Функция sha512.Sum512 вычисляет хеш SHA-512 для переданного слайса байтов. В единственный параметр передаются данные, для которых необходимо вычислить хеш. Функция возвращает массив из 64 байтов ([64]byte), который представляет собой фиксированный 512-битный хеш.

Синтаксис

gosha512.Sum512(data []byte) [64]byte

Пример

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

gopackage main

import (
  "crypto/sha512"
  "fmt"
)

func main() {
  data := []byte("abcde")
  hash := sha512.Sum512(data)
  fmt.Printf("%x", hash)
}

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

go"0a9e3d9e8c6be8621b0e9e9c8c6be8621b0e9e9c8c6be8621b0e9e9c8c6be8621b0e9e9c8c6be8621b0e9e9c8c6be8621b0e9e9c8c6be8621b0e9e9c8c6be862"

Пример

Вычислим хеш SHA-512 для пустой строки:

gopackage main

import (
  "crypto/sha512"
  "fmt"
)

func main() {
  data := []byte("")
  hash := sha512.Sum512(data)
  fmt.Printf("%x", hash)
}

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

go"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"

Пример

Преобразуем полученный массив байтов в строку для удобного использования:

gopackage main

import (
  "crypto/sha512"
  "fmt"
)

func main() {
  data := []byte("12345")
  hash := sha512.Sum512(data)
  hashString := fmt.Sprintf("%x", hash)
  fmt.Println(hashString)
}

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

go"3627909a29c31381a071ec27f7c9ca97726182aed29a7ddd2e54353322cfb30abb9e3a6df2ac2c20fe23436311d678564d0c8d305930575f60e2d3d048184d79"

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

  • функцию sha512.New,
    которая создает новый хеш-объект для поточного вычисления SHA-512
  • функцию sha512.Sum384,
    которая вычисляет хеш SHA-384 (урезанная версия SHA-512)
  • функцию sha256.Sum256,
    которая вычисляет хеш SHA-256
  • функцию sha1.Sum,
    которая вычисляет хеш SHA-1