From 6c1978e53160fea0700cd2f3044d48ea2eddbbb5 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 16 Apr 2017 23:22:50 +0200 Subject: Move base64 out of key representation to file container --- file.go | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'file.go') diff --git a/file.go b/file.go index 4f72542..db2bd82 100644 --- a/file.go +++ b/file.go @@ -3,6 +3,7 @@ package main import ( "bufio" "bytes" + "encoding/base64" "errors" "fmt" "io" @@ -13,8 +14,8 @@ import ( type File struct { Comment string - B64 []byte - Body []byte + RawKey []byte + Message []byte } const ( @@ -46,15 +47,19 @@ func (f *File) ReadFrom(r io.Reader) error { if err := checkComment(comment); err != nil { return err } - f.Comment = strings.TrimSpace(comment[len(commentHdr):]) + f.Comment = strings.TrimSpace(comment[len(commentHdr)+1:]) - b64, err := buf.ReadBytes('\n') + b64, err := buf.ReadString('\n') if err != nil { return err } - f.B64 = bytes.TrimSpace(b64) - f.Body, err = ioutil.ReadAll(buf) + f.RawKey, err = base64.StdEncoding.DecodeString(b64) + if err != nil { + return err + } + + f.Message, err = ioutil.ReadAll(buf) if err != nil { return err } @@ -89,9 +94,9 @@ func (f File) Bytes() ([]byte, error) { func (f File) WriteTo(w io.Writer) error { fmt.Fprintln(w, commentHdr, f.Comment) - fmt.Fprintln(w, string(f.B64)) - if f.Body != nil { - w.Write(f.Body) + fmt.Fprintln(w, base64.StdEncoding.EncodeToString(f.RawKey)) + if f.Message != nil { + w.Write(f.Message) } return nil } -- cgit v1.2.3