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

Функция fnv.New32a

Функция fnv.New32a создает новый объект хеша FNV-1a с размером 32 бита. Этот алгоритм является улучшенной версией FNV-1, которая использует другой порядок операций XOR и умножения. Возвращаемый объект реализует интерфейс hash.Hash32, что позволяет использовать его в стандартных операциях хеширования. Функция не принимает никаких параметров.

Синтаксис

fnv.New32a()

Пример

Давайте создадим хеш FNV-1a и вычислим его для строки 'abcde':

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

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

1336283818

Пример

Давайте создадим хеш FNV-1a и вычислим его для строки '12345':

package main import ( "fmt" "hash/fnv" ) func main() { h := fnv.New32a() h.Write([]byte("12345")) res := h.Sum32() fmt.Println(res) }

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

2012506137

Пример

Давайте покажем отличие FNV-1a от FNV-1 на примере строки 'abcde':

package main import ( "fmt" "hash/fnv" ) func main() { // FNV-1 h1 := fnv.New32() h1.Write([]byte("abcde")) res1 := h1.Sum32() fmt.Println("FNV-1:", res1) // FNV-1a h2 := fnv.New32a() h2.Write([]byte("abcde")) res2 := h2.Sum32() fmt.Println("FNV-1a:", res2) }

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

"FNV-1: 3870053955" "FNV-1a: 1336283818"

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

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