ipv6 address randomness is too small
kolkov opened this issue · 3 comments
kolkov commented
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
Pallinder commented
Sounds like a great PR to me, mind opening one up?
ericfialkowski commented
This is fixed by #45
Pallinder commented
Fixed.