11,486,649 members (73,638 online)

# Luhn' s Algorithm

, 8 Dec 2004 38K 795 13
 Rate this:
Calculating checksum number using Luhn's algorithm

## Introduction

This sample implements the functionality of generating checksum number using Luhn's algorithm.

I've created a class LuhnAlgorithm with a static function:

public static int GetLuhnAlgorithmNumber(string data);

Return value is the generated number.

## Definition

The Luhn algorithm or Luhn formula, also known as the "modulus 10" or "mod 10" algorithm, was developed in the 1960s as a method of validating identification numbers. It is a simple checksum formula used to validate a variety of account numbers, such as credit card numbers and Canadian Social Insurance Numbers. Much of its notoriety comes from credit card companies' adoption of it shortly after its creation in the late 1960s by IBM scientist Hans Peter Luhn (1896–1964).

Explanation of the Luhn's algorithm can be found here.

A list of licenses authors might use can be found here

## Share

Austria
No Biography provided

 First Prev Next
 Actually, this method only needs one line changed to compute the correct Luhn check-digit (the "return" equation is wrong) kirkaiya6-Aug-09 19:42 kirkaiya 6-Aug-09 19:42
 Incorrect Algorithm? Peebles3-Mar-05 3:36 Peebles 3-Mar-05 3:36
 use this code... Joel Thoms18-Jan-05 12:47 Joel Thoms 18-Jan-05 12:47
 how to use Joel Thoms18-Jan-05 12:41 Joel Thoms 18-Jan-05 12:41
 wrote an implementation myslef some time ago
9-Dec-04 8:02 MadHatter ¢ 9-Dec-04 8:02
 Explaining my vote Jason De Arte8-Dec-04 9:45 Jason De Arte 8-Dec-04 9:45
 Yes, I rated this article low. But I think it's important to write _why_ I rated it low for the benefit of the author. This is NOT meant to be taken as an attack - but I must admit I haven't had any caffeine yet this morning and I may still be a bit cranky. 1) The article is terse and leaves me wondering why I would need to reference this code in the future. Maybe an example of _why_ this code is cool and for what it can be used for? 2) the "Definition" is a copy and paste of the "Explanation" that you link to. 3) You only provide a zipped source file whose source appears to have the same byte count as your article. Maybe if you had a sample? or highlighted some bits of the code in the article? 4) The list of compatible platforms is HUGE, I had no idea that a C# source file would work on PalmOS. It's a nice first start for an article, but you should read "What is a good article" http://www.codeproject.com/scrapbook/whatisagoodarticle.asp[^] And maybe a few of the top ranked articles for their structure http://www.codeproject.com/script/articles/top_articles.asp?st=2[^] [ Jason De Arte | Toy Maker | 1001010.com ]
 Last Visit: 31-Dec-99 19:00     Last Update: 26-May-15 2:17 Refresh 1