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 }