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

Функция fnv.New64

Функция fnv.New64 создает новый объект хеша, реализующий алгоритм FNV-1a с 64-битным результатом. Она возвращает интерфейс hash.Hash64, который можно использовать для вычисления хеш-суммы данных. В отличие от fnv.New64a, эта функция использует алгоритм FNV-1, а не FNV-1a. Первый параметр не требуется, так как функция не принимает аргументов.

Синтаксис

fnv.New64() hash.Hash64

Пример

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

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New64() h.Write([]byte("abcde")) res := h.Sum64() fmt.Println(res) }

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

14731002111905924178

Пример

Давайте вычислим хеш для пустой строки и для строки "12345", чтобы увидеть разницу в результатах:

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New64() h.Write([]byte("")) res1 := h.Sum64() fmt.Println(res1) h.Reset() h.Write([]byte("12345")) res2 := h.Sum64() fmt.Println(res2) }

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

14695981039346656037 4626048229596280156

Пример

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

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New64() data := []byte("abcde") h.Write(data) res := h.Sum(nil) fmt.Printf("%x", res) }

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

cc6bd3d9dc4bb065

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

  • функцию fnv.New64a,
    которая создает хеш FNV-1a с 64-битным результатом
  • функцию fnv.New32,
    которая создает хеш FNV-1 с 32-битным результатом
  • функцию fnv.New32a,
    которая создает хеш FNV-1a с 32-битным результатом
  • функцию fnv.New128,
    которая создает хеш FNV-1 с 128-битным результатом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить