guid.go 356 B

12345678910111213141516171819
  1. package hcsshim
  2. import (
  3. "crypto/sha1"
  4. "fmt"
  5. )
  6. type GUID [16]byte
  7. func NewGUID(source string) *GUID {
  8. h := sha1.Sum([]byte(source))
  9. var g GUID
  10. copy(g[0:], h[0:16])
  11. return &g
  12. }
  13. func (g *GUID) ToString() string {
  14. return fmt.Sprintf("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x-%02x", g[3], g[2], g[1], g[0], g[5], g[4], g[7], g[6], g[8:10], g[10:])
  15. }