Функция 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