oh my god
I think this is even easier than I thought.
So the function looks basically like this:
validate_authorization_code (serial_number, expiration_date, max_users, authorization_code), right?
and it takes the serial number and expiration_date and max_users and confirms the authorization_code matches some hash or something to make sure it fits those serial numbers and expiration_date and max_users