Artificial intelligent assistant

Hide my invoice number I'm not a mathematician, so please forgive any ignorance. I have a small business - I'm generating invoices incrementally. I'm currently on about invoice number 4000. I guess I don't want my customers knowing how much business I'm doing (i.e. if they get an invoice for 4500, they know I've been doing a lot of business lately. However, if they get an invoice for 4010, they know things are slow). So, my question is: how can I map say, 4500, to a guaranteed-to-be unique, human-readable/human-rememberable sequence? e.g. 4500 -> a48b82w 4501 -> b802aq2 4502 -> qi289a1 etc. Is there a quick mathematical function that can do this? I have no idea...

One option would be a bit relocation (for 32-bit n):


hash(n)=((0x0000FFFF & n)<<16) + ((0xFFFF0000 & n)>>16)


which is reversible, i.e. n=hash(hash(n)).

Example:


n hash(n) base-36
4000 262144000 4C2NLS
4001 262209536 4C4268
4002 262275072 4C5GQO
4003 262340608 4C6VB4
4004 262406144 4C89VK
4005 262471680 4C9OG0
4006 262537216 4CB30G
4007 262602752 4CCHKW
4008 262668288 4CDW5C
4009 262733824 4CFAPS
4010 262799360 4CGPA8

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy 333a69537962dd7592e2c06de1590ce6