diff --git a/docs/dht_sec.html b/docs/dht_sec.html index e53a0faa4..5e089fee5 100644 --- a/docs/dht_sec.html +++ b/docs/dht_sec.html @@ -137,8 +137,7 @@ uint32_t seed = rand & 0x7; int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6 while (num_octets) { - seed *= ip[num_octets]; - seed &= (modulus-1); + seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1); modulus <<= mod_shift; --num_octets; } @@ -162,8 +161,7 @@ uint32_t seed = node_id[19] & 0x7; int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6 while (num_octets) { - seed *= ip[num_octets]; - seed &= (modulus-1); + seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1); modulus <<= mod_shift; --num_octets; } diff --git a/docs/dht_sec.rst b/docs/dht_sec.rst index a1bd68639..b571a8df9 100644 --- a/docs/dht_sec.rst +++ b/docs/dht_sec.rst @@ -95,8 +95,7 @@ Example code code for calculating a valid node ID:: int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6 while (num_octets) { - seed *= ip[num_octets]; - seed &= (modulus-1); + seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1); modulus <<= mod_shift; --num_octets; } @@ -120,8 +119,7 @@ Example code to verify a node ID:: int mod_shift = 6 * 4 / num_octets; // 6 or 3, depending on IPv4 and IPv6 while (num_octets) { - seed *= ip[num_octets]; - seed &= (modulus-1); + seed = (uint64_t(seed) * ip[num_octets]) & (modulus-1); modulus <<= mod_shift; --num_octets; }