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

Функция sha256.New224

Функция sha256.New224 создает новый объект, реализующий алгоритм хеширования SHA-224. Она возвращает интерфейс hash.Hash, который используется для вычисления хеш-суммы. В отличие от функции sha256.Sum224, возвращающей готовый хеш, New224 позволяет постепенно добавлять данные для хеширования.

Синтаксис

sha256.New224() hash.Hash

Функция не принимает параметров и возвращает объект типа hash.Hash. Этот объект поддерживает методы Write для добавления данных, Sum для получения итогового хеша, Reset для сброса состояния и Size для получения размера хеша.

Пример

Давайте вычислим хеш SHA-224 для строки "abcde":

package main import ( "crypto/sha256" "fmt" ) func main() { h := sha256.New224() h.Write([]byte("abcde")) res := h.Sum(nil) fmt.Printf("%x", res) }

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

"1cd3d3db5a9a1763fe86b32a22ae17de3d2351ec1868e34209f2e923"

Пример

Давайте вычислим хеш SHA-224 для нескольких последовательных фрагментов данных:

package main import ( "crypto/sha256" "fmt" ) func main() { h := sha256.New224() h.Write([]byte("abc")) h.Write([]byte("de")) res := h.Sum(nil) fmt.Printf("%x", res) }

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

"1cd3d3db5a9a1763fe86b32a22ae17de3d2351ec1868e34209f2e923"

Обратите внимание, что последовательное добавление частей данных эквивалентно добавлению целой строки.

Пример

Давайте получим хеш-сумму в виде байтового среза:

package main import ( "crypto/sha256" "fmt" ) func main() { h := sha256.New224() h.Write([]byte("abcde")) res := h.Sum(nil) fmt.Println(res) }

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

[28 211 211 219 90 154 23 99 254 134 179 42 34 174 23 222 61 35 81 236 24 104 227 66 9 242 233 35]

Пример

Давайте используем метод Reset для повторного использования хеш-объекта:

package main import ( "crypto/sha256" "fmt" ) func main() { h := sha256.New224() h.Write([]byte("abcde")) res1 := h.Sum(nil) fmt.Printf("%x\n", res1) h.Reset() h.Write([]byte("12345")) res2 := h.Sum(nil) fmt.Printf("%x", res2) }

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

"1cd3d3db5a9a1763fe86b32a22ae17de3d2351ec1868e34209f2e923" "c8fe448b084c6f00575cd8ec5994f6f2da8d42aa0efa5b65030b8bba"

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

  • функцию sha256.New,
    которая создает объект для вычисления хеша SHA-256
  • функцию sha256.Sum224,
    которая сразу возвращает хеш SHA-224 для данных
  • функцию sha256.Sum256,
    которая сразу возвращает хеш SHA-256 для данных
  • функцию sha1.New,
    которая создает объект для вычисления хеша SHA-1
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить