20 lines
356 B
Go
20 lines
356 B
Go
package hcsshim
|
|
|
|
import (
|
|
"crypto/sha1"
|
|
"fmt"
|
|
)
|
|
|
|
type GUID [16]byte
|
|
|
|
func NewGUID(source string) *GUID {
|
|
h := sha1.Sum([]byte(source))
|
|
var g GUID
|
|
copy(g[0:], h[0:16])
|
|
return &g
|
|
}
|
|
|
|
func (g *GUID) ToString() string {
|
|
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:])
|
|
}
|