|
|
@ -4,6 +4,7 @@ import ( |
|
|
|
"bufio" |
|
|
|
"bufio" |
|
|
|
"crypto/md5" |
|
|
|
"crypto/md5" |
|
|
|
"crypto/sha1" |
|
|
|
"crypto/sha1" |
|
|
|
|
|
|
|
"crypto/sha256" |
|
|
|
"errors" |
|
|
|
"errors" |
|
|
|
"fmt" |
|
|
|
"fmt" |
|
|
|
"hash" |
|
|
|
"hash" |
|
|
@ -16,6 +17,7 @@ import ( |
|
|
|
|
|
|
|
|
|
|
|
var MD5Regex = regexp.MustCompile("^(?P<hash>[0-9a-f]{32}) (?P<filename>.*)$") |
|
|
|
var MD5Regex = regexp.MustCompile("^(?P<hash>[0-9a-f]{32}) (?P<filename>.*)$") |
|
|
|
var SHA1Regex = regexp.MustCompile("^(?P<hash>[0-9a-f]{40}) (?P<filename>.*)$") |
|
|
|
var SHA1Regex = regexp.MustCompile("^(?P<hash>[0-9a-f]{40}) (?P<filename>.*)$") |
|
|
|
|
|
|
|
var SHA224Regex = regexp.MustCompile("^(?P<hash>[0-9a-f]{56}) (?P<filename>.*)$") |
|
|
|
|
|
|
|
|
|
|
|
// SumFunc is a type of function that computes a hash.Hash for data in io.Reader
|
|
|
|
// SumFunc is a type of function that computes a hash.Hash for data in io.Reader
|
|
|
|
type SumFunc func(io.Reader) (hash.Hash, error) |
|
|
|
type SumFunc func(io.Reader) (hash.Hash, error) |
|
|
@ -35,6 +37,10 @@ func SHA1Sum(r io.Reader) (hash.Hash, error) { |
|
|
|
return copyIntoHash(r, sha1.New()) |
|
|
|
return copyIntoHash(r, sha1.New()) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func SHA224Sum(r io.Reader) (hash.Hash, error) { |
|
|
|
|
|
|
|
return copyIntoHash(r, sha256.New224()) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
type CheckingResults struct { |
|
|
|
type CheckingResults struct { |
|
|
|
ImproperlyFormattedCount uint |
|
|
|
ImproperlyFormattedCount uint |
|
|
|
InvalidChecksumCount uint |
|
|
|
InvalidChecksumCount uint |
|
|
|