How to generate account number?
steve+comp.lang.python at pearwood.info
Fri Nov 2 23:39:31 CET 2012
On Sat, 03 Nov 2012 00:13:19 +0300, Andriy Kornatskyy wrote:
> Requirements for `account number` generator:
> 1. Issue pseudo random consistent number (must be unique for dozen
> millions of records)
How much randomness do you need? From the perspective of any one user, a
simple incrementing counter returns arbitrary values, which may be "close
enough" to random.
last_num = 103872 # Pick an arbitrary starting value.
"""Return the next account number."""
last_num += 1
Stick that value in a database instead of a global, and you're done.
What are the consequences of people guessing account numbers? If the
consequences are serious, then you need to make account numbers
cryptographically strong. If the account number alone is not important,
then you don't.
> 2. Easy check validity (without a need to make a database call)
Add a check digit to the number you generate. There are all sorts of ways
to do that. Here are two examples:
> Interested? Read more here:
If you ask a question here, please keep the discussion here, don't split
it to your personal blog.
Tell us your requirements in more detail, and we will try to help you.
More information about the Python-list