Spec-Zone.ru › Go

Пакет sha1

  • import "crypto/sha1"
  • Обзор
  • Индекс
  • Примеры

Обзор

Пакет sha1 реализует алгоритм хеширования SHA-1, как определено в RFC 3174.

SHA-1 криптографически ненадёжен и не должен использоваться для защищённых применений.

Индекс

  • Константы
  • func New() hash.Hash
  • func Sum(data []byte) [Size]byte

Примеры

New
New (Файл)
Sum

Файлы пакета

sha1.go sha1block.go sha1block_amd64.go

Константы

Размер блока SHA-1 в байтах.

const BlockSize = 64

Размер SHA-1 контрольной суммы в байтах.

const Size = 20

func New

func New() hash.Hash

New возвращает новый hash.Hash, вычисляющий контрольную сумму SHA1. Hash также реализует encoding.BinaryMarshaler и encoding.BinaryUnmarshaler для сериализации и десериализации внутреннего состояния хеширования.

Пример

Код:

h := sha1.New()
io.WriteString(h, "His money is twice tainted:")
io.WriteString(h, " 'taint yours and 'taint mine.")
fmt.Printf("% x", h.Sum(nil))

Вывод:

59 7f 6a 54 00 10 f9 4c 15 d7 18 06 a9 9a 2c 87 10 e7 47 bd

Пример (Файл)

Код:

f, err := os.Open("file.txt")
if err != nil {
    log.Fatal(err)
}
defer f.Close()

h := sha1.New()
if _, err := io.Copy(h, f); err != nil {
    log.Fatal(err)
}

fmt.Printf("% x", h.Sum(nil))

func Sum 1.2

func Sum(data []byte) [Size]byte

Sum возвращает контрольную сумму SHA-1 данных.

Пример

Код:

data := []byte("This page intentionally left blank.")
fmt.Printf("% x", sha1.Sum(data))

Вывод:

af 06 49 23 bb f2 30 15 96 aa c4 c2 73 ba 32 17 8e bc 4a 96

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/crypto/sha1/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API