Documentation
¶
Index ¶
- Variables
- type Algorithm
- type AlgorithmList
- type AllChecksumSelector
- type Checksum
- type ChecksumList
- type ChecksumSelector
- type HashVerificationError
- type HashVerifier
- type InMemoryAliasManager
- type InMemoryManager
- type Manager
- type MultiManager
- type StrongestChecksumSelector
- type VerificationProfile
- type WriteableManager
Constants ¶
This section is empty.
Variables ¶
View Source
var AlgorithmsByStrength = AlgorithmList{SHA512, SHA384, SHA256, SHA1, MD5}
Functions ¶
This section is empty.
Types ¶
type Algorithm ¶ added in v0.5.0
type Algorithm string
const MD5 Algorithm = "md5"
const SHA1 Algorithm = "sha1"
const SHA256 Algorithm = "sha256"
const SHA384 Algorithm = "sha384"
const SHA512 Algorithm = "sha512"
type AlgorithmList ¶ added in v0.5.0
type AlgorithmList []Algorithm
func (AlgorithmList) Contains ¶ added in v0.5.0
func (l AlgorithmList) Contains(in Algorithm) bool
func (AlgorithmList) FilterMin ¶ added in v0.5.0
func (l AlgorithmList) FilterMin(min Algorithm) AlgorithmList
func (AlgorithmList) Intersection ¶ added in v0.5.0
func (l AlgorithmList) Intersection(in AlgorithmList) AlgorithmList
func (AlgorithmList) Join ¶ added in v0.5.0
func (l AlgorithmList) Join(sep string) string
type AllChecksumSelector ¶ added in v0.5.0
type AllChecksumSelector struct{}
func (AllChecksumSelector) SelectChecksums ¶ added in v0.5.0
func (AllChecksumSelector) SelectChecksums(in ChecksumList) ChecksumList
type Checksum ¶
type Checksum interface { Algorithm() Algorithm NewVerifier(context.Context) (*HashVerifier, error) }
func GuessChecksum ¶
func MustGuessChecksumHex ¶ added in v0.5.0
func NewDeferredChecksum ¶ added in v0.4.0
type ChecksumList ¶ added in v0.5.0
type ChecksumList []Checksum
func (ChecksumList) FilterAlgorithms ¶ added in v0.5.0
func (l ChecksumList) FilterAlgorithms(algorithms AlgorithmList) ChecksumList
type ChecksumSelector ¶ added in v0.5.0
type ChecksumSelector interface {
SelectChecksums(ChecksumList) ChecksumList
}
type HashVerificationError ¶ added in v0.4.0
type HashVerificationError struct {
// contains filtered or unexported fields
}
func (HashVerificationError) Error ¶ added in v0.4.0
func (err HashVerificationError) Error() string
type HashVerifier ¶ added in v0.4.0
type HashVerifier struct {
// contains filtered or unexported fields
}
func NewHashVerifier ¶ added in v0.4.0
func NewHashVerifier(algorithm Algorithm, expected []byte, hasher hash.Hash) *HashVerifier
func (*HashVerifier) Algorithm ¶ added in v0.4.0
func (hv *HashVerifier) Algorithm() Algorithm
func (*HashVerifier) Expected ¶ added in v0.5.0
func (hv *HashVerifier) Expected() []byte
func (*HashVerifier) Verify ¶ added in v0.4.0
func (hv *HashVerifier) Verify() error
type InMemoryAliasManager ¶ added in v0.4.0
type InMemoryAliasManager struct {
// contains filtered or unexported fields
}
InMemoryAliasManager enforces a specific file name is used for any added checksums.
Namely useful for name-based, *.sha256-type files are used and the contents may have been generated using a different file name, but there is high certainty about the subject. The caller should always be using the expected name.
func (*InMemoryAliasManager) AddChecksum ¶ added in v0.4.0
func (m *InMemoryAliasManager) AddChecksum(_ string, checksum Checksum)
func (*InMemoryAliasManager) GetChecksums ¶ added in v0.5.0
func (m *InMemoryAliasManager) GetChecksums(ctx context.Context, resource string, algos AlgorithmList) (ChecksumList, error)
type InMemoryManager ¶
type InMemoryManager struct {
// contains filtered or unexported fields
}
func (*InMemoryManager) AddChecksum ¶ added in v0.4.0
func (m *InMemoryManager) AddChecksum(resource string, checksum Checksum)
func (*InMemoryManager) GetChecksums ¶ added in v0.5.0
func (m *InMemoryManager) GetChecksums(ctx context.Context, resource string, algos AlgorithmList) (ChecksumList, error)
func (*InMemoryManager) Resources ¶ added in v0.4.0
func (m *InMemoryManager) Resources() []string
type Manager ¶
type Manager interface {
GetChecksums(ctx context.Context, resource string, algos AlgorithmList) (ChecksumList, error)
}
func NewMultiManager ¶ added in v0.4.0
type MultiManager ¶ added in v0.4.0
type MultiManager struct {
// contains filtered or unexported fields
}
func (MultiManager) GetChecksums ¶ added in v0.5.0
func (m MultiManager) GetChecksums(ctx context.Context, resource string, algos AlgorithmList) (ChecksumList, error)
type StrongestChecksumSelector ¶ added in v0.5.0
type StrongestChecksumSelector struct{}
func (StrongestChecksumSelector) SelectChecksums ¶ added in v0.5.0
func (StrongestChecksumSelector) SelectChecksums(in ChecksumList) ChecksumList
type VerificationProfile ¶ added in v0.5.0
type VerificationProfile struct { Required bool Acceptable AlgorithmList Selector ChecksumSelector }
type WriteableManager ¶ added in v0.4.0
func NewInMemoryAliasManager ¶ added in v0.4.0
func NewInMemoryAliasManager(resource string) WriteableManager
func NewInMemoryManager ¶
func NewInMemoryManager() WriteableManager
Source Files
¶
Click to show internal directories.
Click to hide internal directories.