From 23cdde3d53d400643521f863e313d5b3efca0108 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 14 Apr 2017 18:24:23 +0200 Subject: Move around --- base64.go | 28 ---------------------------- gen.go | 4 ++-- keys.go | 23 +++++++++++++++++++++++ keys_test.go | 16 ++++++++-------- main.go | 2 +- pbkdf.go | 13 ------------- 6 files changed, 34 insertions(+), 52 deletions(-) delete mode 100644 base64.go delete mode 100644 pbkdf.go diff --git a/base64.go b/base64.go deleted file mode 100644 index c2ba2eb..0000000 --- a/base64.go +++ /dev/null @@ -1,28 +0,0 @@ -package main - -import ( - "bytes" - "encoding/base64" - "encoding/binary" -) - -func DecodeB64(v interface{}, b []byte) error { - buf := bytes.NewReader(b) - dec := base64.NewDecoder(base64.StdEncoding, buf) - if err := binary.Read(dec, binary.BigEndian, v); err != nil { - return err - } - return nil -} - -func EncodeB64(v interface{}) ([]byte, error) { - buf := new(bytes.Buffer) - enc := base64.NewEncoder(base64.StdEncoding, buf) - if err := binary.Write(enc, binary.BigEndian, v); err != nil { - return nil, err - } - if err := enc.Close(); err != nil { - return nil, err - } - return buf.Bytes(), nil -} diff --git a/gen.go b/gen.go index 23639aa..4c52cc9 100644 --- a/gen.go +++ b/gen.go @@ -24,7 +24,7 @@ func Generate(pubkeyfile, seckeyfile, comment string, rounds int) error { rand.Read(enckey.Salt[:]) copy(enckey.Checksum[:], digest[:len(enckey.Checksum)]) - sb64, err := EncodeB64(enckey) + sb64, err := Marshal(enckey) if err != nil { return err } @@ -42,7 +42,7 @@ func Generate(pubkeyfile, seckeyfile, comment string, rounds int) error { copy(pubkey.KeyNum[:], enckey.KeyNum[:]) copy(pubkey.PubKey[:], pub[:]) - pb64, err := EncodeB64(enckey) + pb64, err := Marshal(enckey) if err != nil { return err } diff --git a/keys.go b/keys.go index 0248a4b..896f1e8 100644 --- a/keys.go +++ b/keys.go @@ -3,6 +3,8 @@ package main import ( "bytes" "crypto/sha512" + "encoding/base64" + "encoding/binary" "dim13.org/signify/bhash" @@ -55,3 +57,24 @@ func (v *EncKey) IsValid(pass []byte) bool { sum := sha512.Sum512(v.SecKey[:]) return bytes.Equal(sum[:len(v.Checksum)], v.Checksum[:]) } + +func Unmarshal(v interface{}, b []byte) error { + buf := bytes.NewReader(b) + dec := base64.NewDecoder(base64.StdEncoding, buf) + if err := binary.Read(dec, binary.BigEndian, v); err != nil { + return err + } + return nil +} + +func Marshal(v interface{}) ([]byte, error) { + buf := new(bytes.Buffer) + enc := base64.NewEncoder(base64.StdEncoding, buf) + if err := binary.Write(enc, binary.BigEndian, v); err != nil { + return nil, err + } + if err := enc.Close(); err != nil { + return nil, err + } + return buf.Bytes(), nil +} diff --git a/keys_test.go b/keys_test.go index 7c02b8f..283c674 100644 --- a/keys_test.go +++ b/keys_test.go @@ -8,8 +8,8 @@ import ( func TestUnmarshalSig(t *testing.T) { b64sig := []byte(`RWRbOC0bBf7abaGwGtq45KLDK63tgcF7CO4qTZSlTKCSbZTYlDfFm/DISQ60u+/jEzrk22suvXXAEsxQTe2xUOfV90get1YRGQo=`) v := new(Sig) - DecodeB64(v, b64sig) - out, _ := EncodeB64(v) + Unmarshal(v, b64sig) + out, _ := Marshal(v) if !bytes.Equal(b64sig, out) { t.Errorf("want %v, got %v", b64sig, out) } @@ -19,8 +19,8 @@ func TestUnmarshalSig(t *testing.T) { func TestUnmarshalPub(t *testing.T) { b64pub := []byte(`RWRbOC0bBf7abfanaXuTYfCa6+YO69Kxyz8RD5nL/3Ta7umY6iOwnBrG`) v := new(PubKey) - DecodeB64(v, b64pub) - out, _ := EncodeB64(v) + Unmarshal(v, b64pub) + out, _ := Marshal(v) if !bytes.Equal(b64pub, out) { t.Errorf("want %v, got %v", b64pub, out) } @@ -30,8 +30,8 @@ func TestUnmarshalPub(t *testing.T) { func TestUnmarshalEnc(t *testing.T) { b64enc := []byte(`RWRCSwAAAACzJBN2gC5//jVvDiV76rs4m2aKXkljqDpbOC0bBf7abZhV/Zygr6b0KIbSI56JQutwzsQeouxnnHuVTZp3IW4M9qdpe5Nh8Jrr5g7r0rHLPxEPmcv/dNru6ZjqI7CcGsY=`) v := new(EncKey) - DecodeB64(v, b64enc) - out, _ := EncodeB64(v) + Unmarshal(v, b64enc) + out, _ := Marshal(v) if !bytes.Equal(b64enc, out) { t.Errorf("want %v, got %v", b64enc, out) } @@ -44,8 +44,8 @@ func TestUnmarshalEnc(t *testing.T) { func TestUnmarshalKDF(t *testing.T) { b64enc := []byte(`RWRCSwAAACoXv4r2lp3RYYLEWZRsY+1Z+1mJtEScNBaKdOKcMdhUHrztnf8a4sUNGY19MoV3wX2cyW2Mn1MduKxi9s3Se070TGF0IZG/hH4SKiNUYi+yi1mandWAwmhY3ahIHApigTk=`) v := new(EncKey) - DecodeB64(v, b64enc) - out, _ := EncodeB64(v) + Unmarshal(v, b64enc) + out, _ := Marshal(v) if !bytes.Equal(b64enc, out) { t.Errorf("want %v, got %v", b64enc, out) } diff --git a/main.go b/main.go index 4027a5a..bf50d90 100644 --- a/main.go +++ b/main.go @@ -57,6 +57,6 @@ func main() { PKAlg: PKAlg, } rand.Read(ss.KeyNum[:]) - ms, _ := EncodeB64(ss) + ms, _ := Marshal(ss) fmt.Println(string(ms)) } diff --git a/pbkdf.go b/pbkdf.go deleted file mode 100644 index 9b868e4..0000000 --- a/pbkdf.go +++ /dev/null @@ -1,13 +0,0 @@ -package main - -import ( - "crypto/sha512" - - "golang.org/x/crypto/pbkdf2" -) - -// bcrypt_pbkdf - -func Key(password, salt []byte, iter, keyLen int) []byte { - return pbkdf2.Key(password, salt, iter, keyLen, sha512.New) -} -- cgit v1.2.3