...
Package sha1
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
SHA-1 is cryptographically broken and should not be used for secure
applications.
In the call graph viewer below, each node
is a function belonging to this package
and its children are the functions it
calls—perhaps dynamically.
The root nodes are the entry points of the
package: functions that may be called from
outside the package.
There may be non-exported or anonymous
functions among them if they are called
dynamically from another package.
Click a node to visit that function's source code.
From there you can visit its callers by
clicking its declaring func
token.
Functions may be omitted if they were
determined to be unreachable in the
particular programs or tests that were
analyzed.
Constants
The blocksize of SHA-1 in bytes.
const BlockSize = 64
The size of a SHA-1 checksum in bytes.
const Size = 20
func New() hash.Hash
New returns a new hash.Hash computing the SHA1 checksum. The Hash also
implements encoding.BinaryMarshaler and encoding.BinaryUnmarshaler to
marshal and unmarshal the internal state of the hash.
▾ Example
Code:
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))
Output:
59 7f 6a 54 00 10 f9 4c 15 d7 18 06 a9 9a 2c 87 10 e7 47 bd
▾ Example (File)
Code:
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(data []byte) [Size]byte
Sum returns the SHA-1 checksum of the data.
▾ Example
Code:
data := []byte("This page intentionally left blank.")
fmt.Printf("% x", sha1.Sum(data))
Output:
af 06 49 23 bb f2 30 15 96 aa c4 c2 73 ba 32 17 8e bc 4a 96