Pallinder/go-randomdata

ipv6 address randomness is too small

kolkov opened this issue · 3 comments

Hi!
Not good idea to use rand.Seed(time.Now().UnixNano()) when generate IPv6 address.
As result: IpAddress : 6363:6363:6363:6363:6363:6363:6363:6363
Please transfer rand.Seed(time.Now().UnixNano()) to init func.

func seedAndReturnRandom(n int) int {
	rand.Seed(time.Now().UnixNano())
	return rand.Intn(n)
}

// Returns a valid IPv6 address as net.IP
func IpV6Address() string {
	var ip net.IP
	for i := 0; i < net.IPv6len; i++ {
		number := uint8(seedAndReturnRandom(255))
		ip = append(ip, number)
	}
	return ip.String()
}

https://github.com/Pallinder/go-randomdata/blob/master/random_data.go#L67

Sounds like a great PR to me, mind opening one up?

This is fixed by #45

Fixed.