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

Функция crc32.NewIEEE

Функция crc32.NewIEEE из пакета crypto/crc32 создает новый объект хеша, реализующий интерфейс hash.Hash32, для вычисления контрольной суммы CRC-32 по алгоритму IEEE. Этот хеш можно использовать для последовательного добавления данных через метод Write и получения итоговой контрольной суммы через метод Sum32.

Функция не принимает никаких параметров и возвращает значение типа hash.Hash32. Полученный хеш автоматически инициализируется с полиномом IEEE, который соответствует таблице crc32.IEEETable.

Синтаксис

crc32.NewIEEE()

Пример

Давайте вычислим контрольную сумму CRC-32 IEEE для строки 'abcde' с использованием хеша, созданного функцией crc32.NewIEEE:

package main import ( "fmt" "crypto/crc32" ) func main() { hash := crc32.NewIEEE() hash.Write([]byte("abcde")) res := hash.Sum32() fmt.Println(res) }

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

858066361

Пример

Давайте вычислим контрольную сумму CRC-32 IEEE для строки '12345' и выведем ее в шестнадцатеричном формате:

package main import ( "fmt" "crypto/crc32" ) func main() { hash := crc32.NewIEEE() hash.Write([]byte("12345")) res := hash.Sum32() fmt.Printf("%x", res) }

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

"ec9f1b"

Пример

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

package main import ( "fmt" "crypto/crc32" ) func main() { hash := crc32.NewIEEE() hash.Write([]byte("abc")) hash.Write([]byte("de")) res := hash.Sum32() fmt.Println(res) }

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

858066361

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

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