Issuer Identification Number Database and Verification Utility Library. Luhn Algorithm, BIN Checker, Random Credit Card Generators.
# In terminal do:
$ pip install pycctek
$ git clone https://github.com/TralahM/pycctek.git
$ cd pycctek
$ python setup.py install
usage: cctek [-h] [--version] {random_card,rc,luhn,ln,lookup,lk} ...
positional arguments:
{random_card,rc,luhn,ln,lookup,lk}
random_card (rc) Generate Random Credit Card Number.
luhn (ln) Run Luhn Algorithm checks on the card numbers.
lookup (lk) Lookup Issuer Identification Numbers.
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
usage: cctek random_card [-h] {amex,diners,discover,enroute,jcb,mastercard,visa}
positional arguments:
{amex,diners,discover,enroute,jcb,mastercard,visa}
optional arguments:
-h, --help show this help message and exit
usage: cctek luhn [-h] credit_card_numbers) [credit_card_number(s ...]
positional arguments:
credit_card_number(s) Credit Card Numbers
usage: cctek lookup [-h] BINs) [BIN(s ...]
positional arguments:
BIN(s) Credit Card Number or Bank/Issuer Identification Number(first 6 digits) to Lookup.
optional arguments:
-h, --help show this help message and exit
ISO/IEC 7812 Identification cards — Identification of issuers was first published by the International Organization for Standardization (ISO) in 1989. It is the international standard specifies "a numbering system for the identification of the card issuers, the format of the issuer identification number (IIN) and the primary account number (PAN).
The registration authority for Issuer Identification Numbers (IINs) is the American Bankers Association.
An IIN is currently six digits in length. The leading digit is the major industry identifier (MII), followed by 5 digits, which together make up the IIN. This IIN is paired with an individual account identification number, and a single digit checksum. MII 9 has been assigned to national standards bodies for national use.
The first digit is a 9 followed by a three-digit numeric country code numeric-3 country code from ISO 3166-1. National Numbering Systems are managed by ISO-member national standards bodies. The US National Numbering system is managed by the American National Standards Institute.
MII | Digit Value Issuer Category |
---|---|
0 | ISO/TC 68 Assignment |
1 | Airline cards |
2 | Airlines cards (and other future industry assignments) |
3 | Travel and Entertainment Cards |
4 | Banking and Financial Cards |
5 | Banking and Financial Cards |
6 | Merchandising and Financial Cards |
7 | Gas Cards- Other Future Industry Assignments |
8 | Healthcare Cards- Telecommunications- Other Future Industry Assignments |
9 | For Use by National Standards Bodies |
The first six digits, including the major industry identifier, compose the issuer identifier number (IIN) which identifies the issuing organization. The IIN is sometimes referred to as a "bank identification number" (BIN). The IIN's use is much broader than identification of a bank. IINs are used by companies other than banks.
The Luhn algorithm or Luhn formula, also known as the "modulus 10" or "mod 10" algorithm, named after its creator, IBM scientist Hans Peter Luhn, is a simple checksum formula used to validate a variety of identification numbers, such as:
- credit card numbers,
- IMEI numbers,
- National Provider Identifier numbers in the United States,
- Canadian Social Insurance Numbers,
- Israeli ID Numbers,
- South African ID Numbers,
- Greek Social Security Numbers (ΑΜΚΑ),
- and survey codes appearing on McDonald's, Taco Bell, and Tractor Supply Co. receipts.
It is described in U.S. Patent No. 2,950,048, filed on January 6, 1954, and granted on August 23, 1960.
Read The Wikipedia Page for a more comprehensive description of Luhn's Algorithm