func Random(source []byte, n int) []byte {
	b := make([]byte, n)
	for x := 0; x < n; x++ {
		b[x] = source[rand.Intn(len(source))]
	}
	return b
}
Random generate random sequence of value from source with fixed length.

This function assume that random generator has been seeded.
package ascii
import (
	"math/rand"
)
const (
	Letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	LettersNumber = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890"
	HexaLETTERS = "0123456789ABCDEF"
	HexaLetters = "0123456789abcedfABCDEF"
	Hexaletters = "0123456789abcedf"
)
var (
	Spaces = []byte{'\t', '\n', '\v', '\f', '\r', ' '}
)
func IsAlnum(b byte) bool {
	return IsAlpha(b) || IsDigit(b)
}
func IsAlpha(b byte) bool {
	if (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') {
		return true
	}
	return false
}
func IsDigit(b byte) bool {
	if b >= '0' && b <= '9' {
		return true
	}
	return false
}
func IsDigits(data []byte) bool {
	for x := 0; x < len(data); x++ {
		if !IsDigit(data[x]) {
			return false
		}
	}
	return true
}
func IsHex(b byte) bool {
	if (b >= '0' && b <= '9') || (b >= 'a' && b <= 'f') || (b >= 'A' && b <= 'F') {
		return true
	}
	return false
}
func IsSpace(b byte) bool {
	if b == '\t' || b == '\n' || b == '\v' || b == '\f' || b == '\r' || b == ' ' {
		return true
	}
	return false
}