ref: 26e4a18e7060b0300f57f6592e3440b5e0a4aea1
dir: /sys/src/cmd/nusb/usbd/hname.c/
#include <u.h> #include <libc.h> #include <mp.h> #include <libsec.h> int hname(char *buf) { uchar d[SHA1dlen]; u32int x; int n; n = strlen(buf); sha1((uchar*)buf, n, d, nil); x = d[0] | d[1]<<8 | d[2]<<16; return snprint(buf, n+1, "%.5ux", x & 0xfffff); }