Author 
Message 
Tim_Mac science forum beginner
Joined: 21 Jul 2006
Posts: 1

Posted: Fri Jul 21, 2006 10:43 am Post subject:
how to deduce a number validation algorithm?



hi,
this might be an impossible question but i thought i'd give it a go...
i'm in the unusual situation of having a database of thousands of
identification numbers which are created with a number validation
algorithm that i don't know. the last digit is a check digit (i'm
fairly sure of this). i expect it is a variation on the mod10 LUHN
algorithm but i don't know exactly what.
it would be of great benefit to me to be know what the checking
algorithm is, but i can't figure it out. i have tried about 20
variations on the mod10 examples i have seen on the internet for
credit card numbers, tax numbers etc., but none of them match up with
the check digit.
the format of the number is: s1234567
where 's' is a letter, and the rest are numbers, with the last number
representing the check digit. i haven't factored in the numeric
equivalent of the letter into the tests i've done (i just ignored it),
but i guess it's a possibility.
unfortunately the numbers are private and i can't post a sample online.
are there any techniques that can be used to 'reverseengineer' the
algorithm? i'm a good programmer so that is an option but i thought it
more of a mathematical problem.
thanks for any tips!
tim 

Back to top 


stush@rocketmail.com science forum addict
Joined: 10 Nov 2005
Posts: 73

Posted: Fri Jul 21, 2006 11:02 am Post subject:
Re: how to deduce a number validation algorithm?



Tim_Mac wrote:
Quote:  hi,
this might be an impossible question but i thought i'd give it a go...
i'm in the unusual situation of having a database of thousands of
identification numbers which are created with a number validation
algorithm that i don't know. the last digit is a check digit (i'm
fairly sure of this). i expect it is a variation on the mod10 LUHN
algorithm but i don't know exactly what.
it would be of great benefit to me to be know what the checking
algorithm is, but i can't figure it out. i have tried about 20
variations on the mod10 examples i have seen on the internet for
credit card numbers, tax numbers etc., but none of them match up with
the check digit.
the format of the number is: s1234567

Do you have the software that generates or validates the numbers? You
could just reverse engineer that.
The banking package I'm using right now generates new accounts by
taking the next valid account number. So if I sorted my account file by
account number, I should be able to figure out the algorithm. You
could also sort by account open/creation date if you have it and your
ordering is not the same as the account number normal sorting sequence.
The letter could be a base 26 check digit you know. But it's also
common in banking to encode information in the account number. For
example, a format could be:
a778889
a = region code
77 = currency code
888 = unique number
9 = check digit
If you want to see a complicated encoding method, do a search on IBAN
(The European bank account convention). Might give you some ideas to
try. 

Back to top 


Google


Back to top 



The time now is Wed Apr 25, 2018 6:52 am  All times are GMT

