DEV Community

yas
yas

Posted on • Edited on

Predictable Pan Card Generation Algorithm.

In any fintech company in India, an important data point is the user's pan number which is used as primary identification.

A common strategy used in creating test users in such an application is generating a random pan number but one drawback with this approach is any newly generated pan should be checked against the database if it already exists to avoid a collision.

The better way is to serially generate the pan numbers to avoid a collision.

I believe it's an interesting problem of generating Pan Card numbers serially so I wrote an algorithm to do the same which would predictably generate a pan card number for a given number x.

Github: pan-number-generator

This could be used be imported in test cases to generate unique pan numbers and while masking pan data for production dumps.

The series would go as:

  'AAAAA0000A',
  'AAAAA0000B',
  'AAAAA0000C',
  'AAAAA0000D',
  'AAAAA0000E',
  'AAAAA0000F',
  'AAAAA0000G',
  'AAAAA0000H',
  'AAAAA0000I',
  'AAAAA0000J',
  'AAAAA0000K',
  'AAAAA0000L',
  'AAAAA0000M',
  'AAAAA0000N',
  'AAAAA0000O',
  'AAAAA0000P',
  'AAAAA0000Q',
  'AAAAA0000R',
  'AAAAA0000S',
  'AAAAA0000T',
  'AAAAA0000U',
  'AAAAA0000V',
  'AAAAA0000W',
  'AAAAA0000X',
  'AAAAA0000Y',
  'AAAAA0000Z',
  'AAAAA0001A',
  'AAAAA0001B',
  'AAAAA0001C',
  'AAAAA0001D',
  'AAAAA0001E'
Enter fullscreen mode Exit fullscreen mode

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post