Пакет sha256
Обзор
Пакет sha256 реализует алгоритмы хеширования SHA224 и SHA256, как определено в FIPS 180-4.
Индекс
Примеры
Файлы пакета
sha256.go sha256block.go sha256block_amd64.go sha256block_decl.go
Константы
Размер блока SHA256 и SHA224 в байтах.
const BlockSize = 64
Размер SHA256 контрольной суммы в байтах.
const Size = 32
Размер SHA224 контрольной суммы в байтах.
const Size224 = 28
func New
func New() hash.Hash
New возвращает новый hash.Hash, вычисляющий контрольную сумму SHA256. Hash также реализует encoding.BinaryMarshaler и encoding.BinaryUnmarshaler для сериализации и десериализации внутреннего состояния хеша.
Пример
Код:
h := sha256.New()
h.Write([]byte("hello world\n"))
fmt.Printf("%x", h.Sum(nil))
Вывод:
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
Пример (Файл)
Код:
f, err := os.Open("file.txt")
if err != nil {
log.Fatal(err)
}
defer f.Close()
h := sha256.New()
if _, err := io.Copy(h, f); err != nil {
log.Fatal(err)
}
fmt.Printf("%x", h.Sum(nil))
func New224
func New224() hash.Hash
New224 возвращает новый hash.Hash, вычисляющий контрольную сумму SHA224.
func Sum224 1.2
func Sum224(data []byte) [Size224]byte
Sum224 возвращает контрольную сумму SHA224 данных.
func Sum256 1.2
func Sum256(data []byte) [Size]byte
Sum256 возвращает контрольную сумму SHA256 данных.
Пример
Код:
sum := sha256.Sum256([]byte("hello world\n"))
fmt.Printf("%x", sum)
Вывод:
a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/crypto/sha256/