code: func Variant5(namespace UUID, name string) (u UUID) {
  	h := sha1.New()
  	h.Write([]byte(namespace))
  	h.Write([]byte(name))
  	u = h.Sum(nil)[0:16]
  	u[6] = (u[6] & 0x0f) | 0x50
  	u[8] = (u[8] & 0x3f) | 0x80
  	return u
  }
docs: // Generate a "Variant 5" style UUID. These are functionally the same as
  // Variant 3, using sha1 rather than md5. Variant 5 UUIDs are recommended for
  // all new designs where Variant 3 would have normally been used. It takes a
  // given UUID as a name space and a string identifier, given the same name
  // space and string this will produce the same UUID.