Автор оригинала: Pankaj Kumar.
В последнем посте мы увидели, что Номера кредитных карт не являются случайными, и их можно проверить с помощью Алгоритма Луна , и я написал программу java для проверки номера кредитной карты .
Последняя цифра номера кредитной карты называется Контрольной цифрой и добавляется к частичному номеру кредитной карты для создания полного действительного номера кредитной карты. Например, если у нас есть частичный номер карты из 15 цифр 123456789012345, то, используя алгоритм Луна, мы обнаружим, что контрольная цифра должна быть 2, поэтому действительный номер кредитной карты будет 1234567890123452.
Здесь я предоставляю метод на java для генерации контрольной цифры для частичного номера кредитной карты.
Здесь я предоставляю метод на java для генерации контрольной цифры для частичного номера кредитной карты.
package com.journaldev.design.test; public class GenerateCheckDigit { public static void main(String[] args) { long l = 123456789012345L; int cd = generateCheckDigit(l); System.out.println("Valid card number="+l+cd); } private static int generateCheckDigit(long l) { String str = Long.toString(l); int[] ints = new int[str.length()]; for(int i = 0;i< str.length(); i++){ ints[i] = Integer.parseInt(str.substring(i, i+1)); } for(int i = ints.length-2; i>=0; i=i-2){ int j = ints[i]; j = j*2; if(j>9){ j = j%10 + 1; } ints[i]=j; } int sum=0; for(int i = 0;i< ints.length; i++){ sum+=ints[i]; } if(sum%10==0){ return 0; }else return 10-(sum%10); } }
Как только действительный номер счета будет сгенерирован путем добавления контрольной цифры к частичному номеру кредитной карты, вы можете проверить его с помощью моей последней программы для проверки номера кредитной карты .