ref: cf9e5a2fee27aa0641b91bbee759e5476871b8d5
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);
}