resumable

package
v2.2.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2015 License: BSD-3-Clause, Apache-2.0 Imports: 1 Imported by: 0

README

go-crypto

A Subset of the Go crypto Package with a Resumable Hash Interface

Documentation

GoDocs: http://godoc.org/github.com/stevvooe/resumable

Documentation

Overview

Package resumable registers resumable versions of hash functions. Resumable varieties of hash functions are available via the standard crypto package. Support can be checked by type assertion against the resumable.Hash interface.

While one can use these sub-packages directly, it makes more sense to register them using side-effect imports:

import _ "github.com/stevvooe/resumable/sha256"

This will make the resumable hashes available to the application through the standard crypto package. For example, if a new sha256 is required, one should use the following:

h := crypto.SHA256.New()

Such a features allows one to control the inclusion of resumable hash support in a single file. Applications that require the resumable hash implementation can type switch to detect support, while other parts of the application can be completely oblivious to the presence of the alternative hash functions.

Also note that the implementations available in this package are completely untouched from their Go counterparts in the standard library. Only an extra file is added to each package to implement the extra resumable hash functions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Hash

type Hash interface {
	hash.Hash

	// Len returns the number of bytes written to the Hash so far.
	Len() int64

	// State returns a snapshot of the state of the Hash.
	State() ([]byte, error)

	// Restore resets the Hash to the given state.
	Restore(state []byte) error
}

Hash is the common interface implemented by all resumable hash functions.

Directories

Path Synopsis
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
Package sha512 implements the SHA384 and SHA512 hash algorithms as defined in FIPS 180-2.
Package sha512 implements the SHA384 and SHA512 hash algorithms as defined in FIPS 180-2.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL