title: Create a unique id with built-in checksum?
body: <p>I want to auto-generate a unique 8-10 character ID string that includes a checksum bit of some kind to guard against a typo at data entry.  I would prefer something that does not have sequential numbers where the data entry person would end up in a "rut" and get used to typing the same sequence all the time.</p>
  
  <p>Are there any best practices/ pitfalls associated with this sort of thing?</p>
  
  <p><strong>UPDATE:</strong> OK, I guess I need to provide more detail.</p>
  
  <ol>
  <li>I want to use alphanumerics, not just digits</li>
  <li>I want behavior similar to a credit card checksum, except with 8-10 characters instead of 16 digits</li>
  <li>I want to have the id be unique; there should not be a possibility of collision.</li>
  </ol>
  
  <p><strong>SECOND UPDATE</strong> OK, I don't understand what is confusing about this, but I will try to explain further.  I am trying to create tracking numbers that will go on forms, which will be filled out and data-entered at a later time.  I will generate the id and slap it on the form; the id needs to be unique, it needs to support a LOT of numbers, and it needs to be reasonably idiot-proof for data-entry.</p>
  
  <p>I don't know if this has been done, or even if it can be done, but it does not hurt to ask.</p>