|
mod 10 and luhn were never meant to be hidden or secret. They are just methods of verifying a long string of numbers is entered correctly. More than likely what you have is bank and merchant programmers who don't know of or wish to follow industry standards. Imagine if everyone did this to barcodes? (and maybe they do). I asked a pgmr at a merchant processing site where they came up with their chk digit routine - he said "that was some programming assignment in college...to write your own check digit routine) I'm not aware (and maybe I'm wrong) that there has been any changes in standard Visa, Mastercard, Amex, Discover) routines. jim ----- Original Message ----- From: "Barr, Regan" <BarrR@xxxxxxxxxx> To: "RPG400-L" <rpg400-l@xxxxxxxxxxxx> Sent: Wednesday, February 25, 2004 10:26 AM Subject: RE: Modulus 10 formula (REPOST) > Bob, > > I'm just finishing up a credit card project, and I found that there seem to be as many versions of the > Mod10 as there are merchants/card issuers. I was working primarily with validating merchant numbers. > One bank used only the last 6 digits of the number, beginning with the left and working to the right. > Another used the entire number, but if the first 3 digits fell within a certain range, you changed the > first digit of the number to 0, then worked your Mod10 from right to left. There was no way I could > use the canned IBM Mod10 function for display files. I had to write my own Mod10 validation routine > for every issuing bank. I'm not sure this answers whether there are 2 "official" versions, but I > found that to be irrelevant, since no one used it without significant modifications. I guess everyone > knows how to break Mod 10 these days, so banks are getting creative in how they apply it. > > Regan L. Barr > Cintas - Corp. Systems > Accounting & Finance > Systems Analyst > > ------------------------------ > > date: Wed, 25 Feb 2004 08:43:10 -0600 > from: "Bob Cozzi" <cozzi@xxxxxxxxx> > subject: RE: Modulus 10 formula (REPOST) > > Gosh, is it too early for me to type or what??? :) > > -Bob > > I've been going back and forth on a Modulus10 routine because, as it turns out there seems to be two > different formulas: IBM and LUHN. The biggest issue is a subtle one which follows. With IBM, you > always start with the left most digit (highest order digit) and select the even position digits by > moving to the right and multiplying hem by two. This seems to be done regardless of the length of the > original number; therefore, 34567 would use 3, 5 and 7, and 4567 would use 4 and 6. But the LUHN > Modulus 10 formula begins with the rightmost digit (lowest order digit) and selects every other digit > moving to the left, and multiples them by two. > > So with IBM we would get this (starting on the left): > > Start with: 3456 > Step 1: Multiple 3 and 5 by 2 = 6 10 > Step 2: Add them: 6 + 4 + 1 + 0 + 6 = 17 > Step 3: 20 - 17 = 3 > Check Digit = 3 > Result: 3456-3 > > But with the LUHN formula we would get this: > > Start with 3456 > Step 1: Multiple 4 and 6 by 2 = 12 and 8 > Step 2: Add them: 3 + 8 + 5 + 1 + 2 = 19 > Step 3: 20 - 19 = 1 > Check Digit = 1 > Result: 3456-1 > > So is the IBM one screwy or are there two of them? > -Bob Cozzi > > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.