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