Функция sha256.New
Функция sha256.New создает новый объект, реализующий интерфейс hash.Hash,
который позволяет вычислять SHA-256 хеш для данных. Она не принимает никаких параметров
и возвращает новый хеш-объект, готовый к использованию. SHA-256 генерирует хеш длиной
32 байта (256 бит), который часто используется для проверки целостности данных и в криптографических приложениях.
Синтаксис
sha256.New()
Пример
Давайте создадим хеш-объект и вычислим SHA-256 хеш для строки "hello world":
package main
import (
"crypto/sha256"
"fmt"
)
func main() {
h := sha256.New()
h.Write([]byte("hello world"))
res := h.Sum(nil)
fmt.Printf("%x", res)
}
Результат выполнения кода:
"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Пример
Давайте вычислим SHA-256 хеш для нескольких частей данных, используя метод Write:
package main
import (
"crypto/sha256"
"fmt"
)
func main() {
h := sha256.New()
h.Write([]byte("hello"))
h.Write([]byte(" "))
h.Write([]byte("world"))
res := h.Sum(nil)
fmt.Printf("%x", res)
}
Результат выполнения кода:
"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Обратите внимание, что результат совпадает с предыдущим примером, так как данные были объединены перед хешированием.
Пример
Давайте получим хеш в виде байтового слайса для дальнейшей обработки:
package main
import (
"crypto/sha256"
"fmt"
)
func main() {
h := sha256.New()
h.Write([]byte("12345"))
res := h.Sum(nil)
fmt.Println(res)
}
Результат выполнения кода:
[9 138 172 253 173 253 244 52 185 253 73 26 103 12 215 100 42 186 246 62 169 107 111 19 215 110 32 104 179 104 34 109]
Смотрите также
-
функцию
sha256.Sum256,
которая вычисляет хеш SHA-256 за один вызов -
функцию
sha256.New224,
которая создает объект для вычисления SHA-224 хеша -
интерфейс
hash.Hash,
который реализует возвращаемый объект -
функцию
sha1.New,
которая создает объект для вычисления SHA-1 хеша