Функция fnv.New128
Функция fnv.New128 создает новый объект хеша,
реализующий алгоритм FNV-128. Она возвращает интерфейс
hash.Hash, который позволяет записывать данные
и получать итоговое 128-битное хеш-значение. Первым
параметром функция не принимает аргументов, так как
используется стандартное начальное значение.
Синтаксис
fnv.New128()
Пример
Давайте вычислим 128-битный хеш для строки "abcde":
package main
import (
"fmt"
"hash/fnv"
)
func main() {
h := fnv.New128()
h.Write([]byte("abcde"))
res := h.Sum(nil)
fmt.Printf("%x", res)
}
Результат выполнения кода:
"e4564dbe955515b8a1abb0c3e8b091e3"
Пример
Давайте вычислим хеш для пустой строки:
package main
import (
"fmt"
"hash/fnv"
)
func main() {
h := fnv.New128()
h.Write([]byte(""))
res := h.Sum(nil)
fmt.Printf("%x", res)
}
Результат выполнения кода:
"6c62272e07bb014262b821756295c58d"
Пример
Давайте вычислим хеш для строки "12345":
package main
import (
"fmt"
"hash/fnv"
)
func main() {
h := fnv.New128()
h.Write([]byte("12345"))
res := h.Sum(nil)
fmt.Printf("%x", res)
}
Результат выполнения кода:
"2c54a7a70fd8729326937826f1ddbcc9"
Смотрите также
-
функцию
fnv.New32,
которая создает 32-битный хеш FNV-1a -
функцию
fnv.New64,
которая создает 64-битный хеш FNV-1a -
функцию
fnv.New128a,
которая создает 128-битный хеш FNV-1a (альтернативная версия) -
интерфейс
hash.Hash,
который реализуют все хеш-функции в Go