aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-10-23 17:35:40 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-10-23 17:35:40 +0200
commit498e41b4e0ce2e984d44faa224d2015fe61e546f (patch)
tree09d2078b65b0db423d7f4e3dcff08ff136ed59f6
parent2e95c9cc2b28517d024a7556bae32dbd34f1c510 (diff)
Extrtact Checksum validator
-rw-r--r--enc.go14
1 files changed, 1 insertions, 13 deletions
diff --git a/enc.go b/enc.go
index fac8298..467e0f0 100644
--- a/enc.go
+++ b/enc.go
@@ -3,7 +3,6 @@ package main
import (
"bytes"
"crypto/sha512"
- "errors"
"golang.org/x/crypto/ed25519"
)
@@ -18,21 +17,10 @@ type EncKey struct {
SecKey [ed25519.PrivateKeySize]byte
}
-var ErrChecksum = errors.New("checksum mismatch")
-
func (v *EncKey) Valid() bool {
sum := sha512.Sum512(v.SecKey[:])
return bytes.Equal(sum[:len(v.Checksum)], v.Checksum[:])
}
-func (v *EncKey) Unmarshal(b []byte) error {
- if err := DecodeBase64(v, b); err != nil {
- return err
- }
- if !v.Valid() {
- return ErrChecksum
- }
- return nil
-}
-
+func (v *EncKey) Unmarshal(b []byte) error { return DecodeBase64(v, b) }
func (v *EncKey) Marshal() ([]byte, error) { return EncodeBase64(v) }