C# Kredi Kartı Algoritması

C

Kısa tarih bilgisi ile bir alman olan Hans Peter Luhn abimiz tarafından 1954 yılında dakte edilen sayıların yanlış girilip girilmediğini kontrol amaclı geliştirilmiş. IMEI – Kredikarti gibi sayıların son karakterinde doğrulama kodu olarak kullanılır.

1. Girilen karakter sayısı 16 olmak zorundadır.
2. Bir değişkene indisleri çift olan sayıların iki katlarının basamak toplamlarının, toplamları aktarılmalıdır.
3. Diğer bir değişkene ise indisleri tek olan sayıların toplamları aktarılmalıdır.
4. Son olarak da iki değişkenin toplamının 10 a bölünüp bölünmediğini kontrol edeceğiz.

[csharp]

private bool KrediKartiDogrulama(string pKartNo)
{
int toplam = 0;
for (int i = 0; i < 16; i++)
{
int sayi = Convert.ToInt32(pKartNo[i].ToString());

if (i % 2 == 0)
{
sayi = sayi * 2;
if (sayi.ToString().Length == 2)
sayi = Convert.ToInt32(sayi.ToString().Substring(0, 1)) + Convert.ToInt32(sayi.ToString().Substring(1, 1));
}

toplam += sayi;
}

if (toplam % 10 == 0)
return true;
else
return false;
}

[/csharp]

Yorum yazın

Sinan BOZKUŞ

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.