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

Функция adler32.New

Функция adler32.New создает новый объект для вычисления контрольной суммы Adler-32. Она возвращает интерфейс hash.Hash32, который можно использовать для последовательного обновления хеша с помощью метода Write. Результат вычисления получается через метод Sum32. Функция не принимает никаких параметров и всегда возвращает новый хеш с начальным состоянием.

Синтаксис

adler32.New() hash.Hash32

Пример использования

Давайте вычислим контрольную сумму Adler-32 для строки "abcde":

package main import ( "fmt" "hash/adler32" ) func main() { // Create new Adler-32 hash h := adler32.New() // Write data to hash h.Write([]byte("abcde")) // Get checksum res := h.Sum32() fmt.Println(res) }

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

917503

Пример с обновлением хеша

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

package main import ( "fmt" "hash/adler32" ) func main() { // Create new Adler-32 hash h := adler32.New() // Write data in parts h.Write([]byte("abc")) h.Write([]byte("de")) h.Write([]byte("fgh")) // Get checksum res := h.Sum32() fmt.Println(res) }

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

1572864

Пример с пустыми данными

Рассмотрим, что возвращает функция при вычислении хеша для пустой строки:

package main import ( "fmt" "hash/adler32" ) func main() { // Create new Adler-32 hash h := adler32.New() // Write empty data h.Write([]byte("")) // Get checksum res := h.Sum32() fmt.Println(res) }

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

1

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

  • функцию adler32.Checksum,
    которая вычисляет контрольную сумму Adler-32 за один вызов
  • интерфейс hash.Hash32,
    который реализует возвращаемый объект хеша
  • функцию crc32.New,
    которая создает хеш CRC-32 для вычисления контрольных сумм
  • функцию fnv.New32,
    которая создает хеш FNV-32 с другим алгоритмом хеширования
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить