code: func (g *Generator) String(length, cardinality int) string {
  	if length > 32 {
  		length = 32
  	}
  
  	val := g.Uint64(cardinality)
  
  	b := make([]byte, 8)
  	binary.BigEndian.PutUint64(b, val)
  	_, _ = g.hsh.Write(b) // no need to check err
  	hashed := g.hsh.Sum(nil)
  	g.hsh.Reset()
  	return base32.StdEncoding.EncodeToString(hashed)[:length]
  }
docs: // String gets a zipfian random string from a set with the given cardinality.