package main import ( "bytes" "encoding/base64" "encoding/binary" ) func DecodeBase64(v interface{}, b []byte) error { buf := bytes.NewBuffer(b) dec := base64.NewDecoder(base64.StdEncoding, buf) return binary.Read(dec, binary.BigEndian, v) } func EncodeBase64(v interface{}) ([]byte, error) { buf := &bytes.Buffer{} enc := base64.NewEncoder(base64.StdEncoding, buf) err := binary.Write(enc, binary.BigEndian, v) enc.Close() return buf.Bytes(), err }