Рубрики
Без рубрики

Генератор Контрольных Цифр Кредитной Карты Java-Программа

В последнем посте мы увидели, что номера кредитных карт не являются случайными и их можно проверить с помощью алгоритма Луна, и я написал java-программу для кредитных карт

Автор оригинала: 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);
	}

}

Как только действительный номер счета будет сгенерирован путем добавления контрольной цифры к частичному номеру кредитной карты, вы можете проверить его с помощью моей последней программы для проверки номера кредитной карты .