<div dir="ltr">Hey Joakim,<div>There is already a collection of hashing implementations in sys/include/hashes.h.</div><div>Unfortunally all of them yield 32 bit integers. I did however also used the CPU ID and djb2_hash() in [1] to initialize an IEEE 802.15.4 device's EUI-64 - which is the link-layer pendent to the IPv6 host suffix [2] - by spliting the CPU ID in half, generating a 32-bit hash from each half and splicing them together again as a 64-bit number.</div><div><br></div><div>Best regards,</div><div>Martine</div><div><br></div><div>[1] <a href="https://github.com/RIOT-OS/RIOT/blob/master/sys/auto_init/auto_init.c#L136">https://github.com/RIOT-OS/RIOT/blob/master/sys/auto_init/auto_init.c#L136</a></div><div>[2] <a href="https://tools.ietf.org/html/rfc4291#page-20">https://tools.ietf.org/html/rfc4291#page-20</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-01-27 12:39 GMT+01:00 Joakim Gebart <span dir="ltr"><<a href="mailto:joakim.gebart@eistec.se" target="_blank">joakim.gebart@eistec.se</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
I am looking for a simple (few lines to implement) hashing function to<br>
reduce a 128 bit integer to 64 bits.<br>
<br>
I want to use the hash to derive a 64 bit IPv6 host address from a 128<br>
bit CPU ID.<br>
<br>
I want all of the bits of the CPUID to affect the result, instead of<br>
just grabbing the top/bottom 8 bytes of the ID. I'm guessing there are<br>
lots of options for hashes, but many are made to generate hashes from<br>
much longer messages than 128 bit.<br>
<br>
Any suggestions?<br>
<br>
Best regards,<br>
Joakim Gebart<br>
Eistec AB<br>
<a href="http://www.eistec.se" target="_blank">www.eistec.se</a><br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@riot-os.org">users@riot-os.org</a><br>
<a href="http://lists.riot-os.org/mailman/listinfo/users" target="_blank">http://lists.riot-os.org/mailman/listinfo/users</a><br>
</blockquote></div><br></div>