generateId: use randomBytes + sha1