dasy/protobuf/messageid.go

16 lines
248 B
Go

package protobuf
import (
"crypto/sha256"
"encoding/binary"
)
func (m *Message) ID() []byte {
b := make([]byte, 4)
binary.LittleEndian.PutUint32(b, uint32(m.MessageType))
b = append(b, m.Body...)
hash := sha256.Sum256(b)
return hash[:]
}