aboutsummaryrefslogtreecommitdiff
path: root/chksum/chksum.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-07-19 13:05:18 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-07-19 13:05:18 +0200
commitd0f659f5d90b76ac163022f7b3afea5112166e4d (patch)
tree64f98b95292906749960a0c40d898ac46eeab782 /chksum/chksum.go
parent3d5847918b9c933f937379049adddca1e171f340 (diff)
Add new alg
Diffstat (limited to 'chksum/chksum.go')
-rw-r--r--chksum/chksum.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/chksum/chksum.go b/chksum/chksum.go
index a1e23cb..9d5d239 100644
--- a/chksum/chksum.go
+++ b/chksum/chksum.go
@@ -12,6 +12,7 @@ import (
"errors"
"hash"
"io"
+ "log"
"os"
"path"
"regexp"
@@ -38,10 +39,11 @@ type Checksum struct {
type Checklist []Checksum
var hashes = map[string]func() hash.Hash{
- "SHA512": sha512.New,
- "SHA256": sha256.New,
- "SHA1": sha1.New,
- "MD5": md5.New,
+ "SHA512/256": sha512.New512_256,
+ "SHA512": sha512.New,
+ "SHA256": sha256.New,
+ "SHA1": sha1.New,
+ "MD5": md5.New,
}
func ParseFile(fname string) (Checklist, error) {
@@ -58,7 +60,7 @@ func Parse(data []byte) (Checklist, error) {
return parse(r)
}
-var line = regexp.MustCompile(`(\w+) \(([^)]+)\) = (\w+)`)
+var line = regexp.MustCompile(`(\S+) \(([^)]+)\) = (\w+)`)
func parse(r io.Reader) (Checklist, error) {
var checklist Checklist
@@ -70,6 +72,7 @@ func parse(r io.Reader) (Checklist, error) {
}
hash, ok := hashes[match[1]]
if !ok {
+ log.Println(match)
return nil, ErrHashAlg
}
bytes, err := hex.DecodeString(match[3])