Функция md5.New

Функция md5.New создает новый объект, реализующий интерфейс hash.Hash для вычисления хеша MD5. Функция не принимает параметров и возвращает хеш-объект, который можно использовать для построчного обновления данных и получения итоговой контрольной суммы.

Синтаксис

goh := md5.New()

Пример

Давайте создадим хеш MD5 для строки "abcde":

gopackage main

import (
  "crypto/md5"
  "fmt"
  "io"
)

func main() {
  h := md5.New()
  io.WriteString(h, "abcde")
  res := h.Sum(nil)
  fmt.Printf("%x", res)
}

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

go"ab56b4d92b40713acc5af89985d4b786"

Пример

Давайте вычислим хеш MD5 для байтового слайса:

gopackage main

import (
  "crypto/md5"
  "fmt"
)

func main() {
  data := []byte("12345")
  h := md5.New()
  h.Write(data)
  res := h.Sum(nil)
  fmt.Printf("%x", res)
}

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

go"827ccb0eea8a706c4c34a16891f84e7b"

Пример

Давайте используем метод Sum для получения хеша, передавая существующий слайс байтов:

gopackage main

import (
  "crypto/md5"
  "fmt"
)

func main() {
  h := md5.New()
  h.Write([]byte("abcde"))
  res := h.Sum(make([]byte, 0, 16))
  fmt.Printf("%x", res)
}

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

go"ab56b4d92b40713acc5af89985d4b786"

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

  • функцию md5.Sum,
    которая вычисляет хеш MD5 для данных одной операцией
  • интерфейс hash.Hash,
    который реализует возвращаемый объект
  • функцию sha1.New,
    которая создает хеш SHA-1
  • функцию sha256.New,
    которая создает хеш SHA-256