|
Partner
|
|
|
LUHN Prüfung von Kreditkartennummern
Autor:
Carsten Schlegel
|
Sprache:
C#
|
Bewertung:
9 (1 Bewertung)
|
Anzahl der Aufrufe:
4671
|
Beschreibung:
Für Anwendungen die z.B. die Eingabe einer Kreditkartennummer benötigen. Die LUHN Prüfung erstellt eine Prüfsumme die durch 10 Teilbar sein muss.
Zusätzlich sollte noch geprüft werden: - Gültig Bis (>= DateTime.Now.Date) - KPN (3 Zahlen) - Länge der Kartennummer (evtl. kann bei fehlen von Zahlen die Prüfnummer trotzdem stimmen)
Abgelegt unter: Kreditkarte, Euro, Master, Visa, LUHN, Prüfung, Checksumme, Prüfsumme, Creditcard.
|
| C# |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
/// <summary>
/// Kreditkarten LUHN Berechnung
/// </summary>
/// <param name="KKNumber">Kreditkartennummer</param>
/// <returns>True wenn Kartennummer in Ordnung</returns>
public static bool CheckLUHN(string KKNumber)
{
int intWert = 0, intX = 0;
KKNumber = MakeGoodKKNumber(KKNumber);
if (KKNumber.Length > 0)
{
for (int intPos = KKNumber.Length - 1; intPos >= 0; intPos--)
{
intX = Convert.ToInt32(KKNumber.Substring(intPos, 1));
intWert += ((KKNumber.Length - 1 - intPos) % 2) == 0 ? intX : Quersumme(Convert.ToString(intX * 2));
}
return ((intWert % 10) == 0);
}
else
return false;
}
// SORRY HATTE ICH ZUERST VERGESSEN :-(
/// <summary>
/// Berechnet Quersumme anhand eines Zahlenstrings
/// </summary>
/// <param name="Wert">Zahlenstrings z.B. "12345"</param>
/// <returns>Quersumme z.B. 15</returns>
public static int Quersumme(string Wert)
{
int intReturn = 0;
while (Wert != "")
{
intReturn += Convert.ToInt32(Wert.Substring(0, 1));
Wert = Wert.Substring(1);
}
return intReturn;
}
|
|
Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)
|
Sven Schneider schrieb am:
31.01.2012 17:01:05
|
|
Diese Snippets könnten für Sie interessant sein:
|
|
|
|
|
|
|
|
|