Also:
“unique per product” means unique for each individual product
of a given product class or type.
Overall, why not just require random passwords of a certain length? Compared to generating a hash, generating a random password is easier (no data input, such as the serial number, is needed) and no less user-friendly.Or, define it in terms of entropy? Maybe that kind of technicality is too hard to understand.