hash.go 439 B

12345678910111213141516171819202122232425
  1. package hash
  2. import (
  3. "crypto/md5"
  4. "fmt"
  5. "github.com/spaolacci/murmur3"
  6. )
  7. // Hash returns the hash value of data.
  8. func Hash(data []byte) uint64 {
  9. return murmur3.Sum64(data)
  10. }
  11. // Md5 returns the md5 bytes of data.
  12. func Md5(data []byte) []byte {
  13. digest := md5.New()
  14. digest.Write(data)
  15. return digest.Sum(nil)
  16. }
  17. // Md5Hex returns the md5 hex string of data.
  18. func Md5Hex(data []byte) string {
  19. return fmt.Sprintf("%x", Md5(data))
  20. }