aboutsummaryrefslogtreecommitdiff
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
parent3d5847918b9c933f937379049adddca1e171f340 (diff)
Add new alg
-rw-r--r--chksum/chksum.go13
-rw-r--r--chksum/chksum_test.go1
-rw-r--r--chksum/testdata/MD52
-rw-r--r--chksum/testdata/SHA12
-rw-r--r--chksum/testdata/SHA2562
-rw-r--r--chksum/testdata/SHA5122
-rw-r--r--chksum/testdata/SHA5122561
-rw-r--r--chksum/testdata/empty (renamed from chksum/testdata/emtpy)0
-rw-r--r--chksum/testdata/mixed9
9 files changed, 19 insertions, 13 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])
diff --git a/chksum/chksum_test.go b/chksum/chksum_test.go
index 60a547e..d51a5ae 100644
--- a/chksum/chksum_test.go
+++ b/chksum/chksum_test.go
@@ -10,6 +10,7 @@ func TestParseFile(t *testing.T) {
{"testdata/SHA1"},
{"testdata/SHA256"},
{"testdata/SHA512"},
+ {"testdata/SHA512256"},
{"testdata/mixed"},
}
for _, tc := range testCases {
diff --git a/chksum/testdata/MD5 b/chksum/testdata/MD5
index 68b2f14..68120ed 100644
--- a/chksum/testdata/MD5
+++ b/chksum/testdata/MD5
@@ -1 +1 @@
-MD5 (testdata/emtpy) = d41d8cd98f00b204e9800998ecf8427e
+MD5 (testdata/empty) = d41d8cd98f00b204e9800998ecf8427e
diff --git a/chksum/testdata/SHA1 b/chksum/testdata/SHA1
index 2857b6b..03f9426 100644
--- a/chksum/testdata/SHA1
+++ b/chksum/testdata/SHA1
@@ -1 +1 @@
-SHA1 (testdata/emtpy) = da39a3ee5e6b4b0d3255bfef95601890afd80709
+SHA1 (testdata/empty) = da39a3ee5e6b4b0d3255bfef95601890afd80709
diff --git a/chksum/testdata/SHA256 b/chksum/testdata/SHA256
index a16c460..68633e7 100644
--- a/chksum/testdata/SHA256
+++ b/chksum/testdata/SHA256
@@ -1 +1 @@
-SHA256 (testdata/emtpy) = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+SHA256 (testdata/empty) = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
diff --git a/chksum/testdata/SHA512 b/chksum/testdata/SHA512
index d8aabe9..9931072 100644
--- a/chksum/testdata/SHA512
+++ b/chksum/testdata/SHA512
@@ -1 +1 @@
-SHA512 (testdata/emtpy) = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+SHA512 (testdata/empty) = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
diff --git a/chksum/testdata/SHA512256 b/chksum/testdata/SHA512256
new file mode 100644
index 0000000..69412a0
--- /dev/null
+++ b/chksum/testdata/SHA512256
@@ -0,0 +1 @@
+SHA512/256 (testdata/empty) = c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a
diff --git a/chksum/testdata/emtpy b/chksum/testdata/empty
index e69de29..e69de29 100644
--- a/chksum/testdata/emtpy
+++ b/chksum/testdata/empty
diff --git a/chksum/testdata/mixed b/chksum/testdata/mixed
index a5e4ffc..af386b2 100644
--- a/chksum/testdata/mixed
+++ b/chksum/testdata/mixed
@@ -1,4 +1,5 @@
-MD5 (testdata/emtpy) = d41d8cd98f00b204e9800998ecf8427e
-SHA1 (testdata/emtpy) = da39a3ee5e6b4b0d3255bfef95601890afd80709
-SHA256 (testdata/emtpy) = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-SHA512 (testdata/emtpy) = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+MD5 (testdata/empty) = d41d8cd98f00b204e9800998ecf8427e
+SHA1 (testdata/empty) = da39a3ee5e6b4b0d3255bfef95601890afd80709
+SHA256 (testdata/empty) = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+SHA512 (testdata/empty) = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+SHA512/256 (testdata/empty) = c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a