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;
}