Tweet

Ana Sayfa   Forum   C#.NET
Yeni Başlık Cevap Ekle
white_bullet Lhun ile Kredi Kartı Doğrulama (01/11/2008 10:28)
profil Oguzz
 offline OFFLINE
 Senior Coder

Elektronik ortamlarda doğrulama gerektiren alanlardan biriside kredi kartı ve buna bağlı olarak gerçekleştirilen işlemlerdeki doğrulama gereksinimidir.Kredi kart numaraları belli bir düzen ve planlama sonucu ortaya çıkmaktadır.1 den başlayarak sıralı bir numara üretme işleminden ziyade bir algoritma kullanılarak üretilmektedir.Doğrulama işlemlerindede kartın var olup olmadığını anlamak için bizde bu algoritmadan yararlanacağız.Mantığı ise her sayıyı 2 ile çarpıp birbirleriyle toplayıp 10 a kalansız bölünmesi gerekir.Evet artık mantığından bahsettikten sonra şimdi c# içinde nasıl kullanacağımıza dair kodlarımızı verelim..

CODE:

public bool IsCreditCardValid(string cardNumber)
{
const string allowed = "0123456789";
int i;

StringBuilder cleanNumber = new StringBuilder();
for (i = 0; i < cardNumber.Length; i++)
{
if (allowed.IndexOf(cardNumber.Substring(i, 1)) >= 0)
cleanNumber.Append(cardNumber.Substring(i, 1));
}
if (cleanNumber.Length < 13 || cleanNumber.Length > 16)
return false;

for (i = cleanNumber.Length + 1; i <= 16; i++)
cleanNumber.Insert(0, "0");

int multiplier, digit, sum, total = 0;
string number = cleanNumber.ToString();

for (i = 1; i <= 16; i++)
{
multiplier = 1 + (i % 2);
digit = int.Parse(number.Substring(i - 1, 1));
sum = digit * multiplier;
if (sum > 9)
sum -= 9;
total += sum;
}
return (total % 10 == 0);
}


Örnek:
[IMG SRC="http://www.csharpnedir.com/mimages/bsenyurt/mk144_1.gif" ALIGN="CENTER"]http://www.csharpnedir.com/mimages/bsenyurt/mk144_1.gif[/IMG]

[

Kart ile işlem yapılan uygulamalar geliştirenlere yararlı olacağını düşünüyorum..

just code it!

Üye Profili
 
1 /
 
Ana Sayfa   Forum   C#.NET
Yeni Başlık Cevap Ekle
 

MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg