znalazłem w Sieci algorytm z wagami 2,1,2,1... Do sprawdzania
poprawności numeru karty płatniczej. Czy to dobry algorytm? Na moich
kartach się sprawdza, ale ion jest dość prymitywny, bo np. numer
0000000000000000 traktuje jako OK, bo liczy sumę wag przez cyfry i
modulo 10 ma być = 0. No i w tym przypadku będzie...
Poza tym -- czy da się jakoś określić jaka to karta jest? Niby Visa ma
pierwszą cyfrę 4, ale znalazłem gdzieś opis, że Mastercard ma mieć
51-55, a moje Maestro z LG ma 67 początek...
Chciałbym stworzyć w miarę dokładną i porządną procedurę weryfikacji,
czy macie jakieś pomysły?
--
Tristan hrabia Alder
(ZTJ: Przemysław Adam Śmiejek)
Pogadaj z Kojotem, albo poszukaj w sieci juz gotowych programow ;).
Maciej
PS AK kiedys zaczal tworzyc baze danych BINow polskich kart, ale AFAIK
wyniki niw zostaly upublicznione...
--
FAQ news://pl.biznes.banki => http://www.faq4pbb.prv.pl
> znalazłem w Sieci algorytm z wagami 2,1,2,1... Do sprawdzania
> poprawności numeru karty płatniczej. Czy to dobry algorytm? Na moich
> kartach się sprawdza, ale ion jest dość prymitywny, bo np. numer
> 0000000000000000 traktuje jako OK, bo liczy sumę wag przez cyfry i
> modulo 10 ma być = 0. No i w tym przypadku będzie...
Jest dobry dla visa i epi oraz na pewno dla DC. Niestety dla
niektorych numerow o innej niz klasyczne dlugosci wynik moze byc zly.
> Poza tym -- czy da się jakoś określić jaka to karta jest? Niby Visa ma
> pierwszą cyfrę 4, ale znalazłem gdzieś opis, że Mastercard ma mieć
> 51-55, a moje Maestro z LG ma 67 początek...
Wiadomo ze jak 4 to visa, ale jak visa to nie koniecznie 4.
> Chciałbym stworzyć w miarę dokładną i porządną procedurę weryfikacji,
> czy macie jakieś pomysły?
Podpiac sie do switcha u jakiegos aklajera? ;-)
Wstepnie w/o algorytm dziala dla 90% kart, a chyba dla 99% stosowanych
w polszcze ;-)
--
--w
--
Archiwum grupy: http://niusy.onet.pl/pl.biznes.banki
>> znalazłem w Sieci algorytm z wagami 2,1,2,1... Do sprawdzania
>> poprawności numeru karty płatniczej. Czy to dobry algorytm? Na moich
>> kartach się sprawdza, ale ion jest dość prymitywny, bo np. numer
>> 0000000000000000 traktuje jako OK, bo liczy sumę wag przez cyfry i
>> modulo 10 ma być = 0. No i w tym przypadku będzie...
>Jest dobry dla visa i epi oraz na pewno dla DC. Niestety dla
>niektorych numerow o innej niz klasyczne dlugosci wynik moze byc zly.
A jest jakaś metoda lepsza? Na razie zakładam, że karta ma 16 cyfr...
Czy są jakieś, co mają inną długość?
>> Poza tym -- czy da się jakoś określić jaka to karta jest? Niby Visa ma
>> pierwszą cyfrę 4, ale znalazłem gdzieś opis, że Mastercard ma mieć
>> 51-55, a moje Maestro z LG ma 67 początek...
>Wiadomo ze jak 4 to visa, ale jak visa to nie koniecznie 4.
:-(
>> Chciałbym stworzyć w miarę dokładną i porządną procedurę weryfikacji,
>> czy macie jakieś pomysły?
>Podpiac sie do switcha u jakiegos aklajera? ;-)
A nie ma tego gdzieś ujawnionego? Przecież niektóre strony sobie
sprawdzają to w locie...
>Wstepnie w/o algorytm dziala dla 90% kart, a chyba dla 99% stosowanych
>w polszcze ;-)
>
No to dobrze, jeszcze by się przydało rozpoznanie wydawcy... Byłoby
ładniej...
> >Jest dobry dla visa i epi oraz na pewno dla DC. Niestety dla
> >niektorych numerow o innej niz klasyczne dlugosci wynik moze byc zly.
>
> A jest jakaś metoda lepsza? Na razie zakładam, że karta ma 16 cyfr...
> Czy są jakieś, co mają inną długość?
No, np. visa ;-)
Powaznie - 16 to jest najczesciej uzywana ilosc, ale naprawde nie jedyna.
Moj DC ma 14 cyfr.
> A nie ma tego gdzieś ujawnionego? Przecież niektóre strony sobie
> sprawdzają to w locie...
Tzn. kto? Bo chcesz zrobic tester do kart, tak miedzy nami mowiac ;-)
> No to dobrze, jeszcze by się przydało rozpoznanie wydawcy... Byłoby
> ładniej...
Na kartach ktos sie chwalil polskim zestawem BINow - robioney
reversem, wiec nikt sie nie moze przyczepic ;-) . Zestaw BINow tylko
dla VISA-y ma rozmiar dobrej ksiazki telefonicznej. Dobrej, tj. takiej
dla Warszawy - A4x(4-5)cm grubosci.
>Powaznie - 16 to jest najczesciej uzywana ilosc, ale naprawde nie jedyna.
>Moj DC ma 14 cyfr.
A jest to gdzieś opisane?
>> A nie ma tego gdzieś ujawnionego? Przecież niektóre strony sobie
>> sprawdzają to w locie...
>Tzn. kto?
Nie wiem, wydawało mi się, że kiedyś płaciłem i strona rozpoznała.
Może się mylę...
>Bo chcesz zrobic tester do kart, tak miedzy nami mowiac ;-)
Ano chcę. Ku pożytkowi ogólnemu zresztą...
>> No to dobrze, jeszcze by się przydało rozpoznanie wydawcy... Byłoby
>> ładniej...
>Na kartach ktos sie chwalil polskim zestawem BINow - robioney
>reversem, wiec nikt sie nie moze przyczepic ;-) . Zestaw BINow tylko
>dla VISA-y ma rozmiar dobrej ksiazki telefonicznej. Dobrej, tj. takiej
>dla Warszawy - A4x(4-5)cm grubosci.
?? Jakich BINów? Jakim reversem? Możesz rozwinąć temat, bom od tej
strony lamer...
Algorytm poprawności numeru karty opiera się na wyliczeniu cyfry kontrolnej
tzw. kodem Luhna (opisane normą ISO 7812-1 Annex B). Numeracja kart
zdefiniowana jest w tym samym standardzie ISO i wygląda tak:
pierwsza cyfra: MII (Major Industry Identifier)
4, 5 - instytucje finansowe o zasięgu międzynarodowym
6 - instytucje handlowe i bankowe o zasięgu międzynarodowym
5 i 9 jako druga cyfra - instytucje finansowe o zasięgu krajowym
9 - instytucje o zasięgu krajowym
2, 3, 4, 5, 6 cyfra: II (Issuer Identifier)
identyfikator wydawcy karty
łącznie 1, 2, 3, 4, 5 i 6 cyfra: IIN (Issuer Identification Number)
pełny identyfikator wydawcy karty
następne max. 12 cyfr: IAI (Individual Account Identification)
id. posiadaczy karty przyznany przez wydawcę
ostatnia cyfra: CD (check digit)
cyfra kontrolna
To tak w skrócie.
Więcej można znaleźć m.in. tu:
http://www.kblabs.com/lab/lib/drafts/draft-eastlake-card-map-02.txt.html