Hvad er FI71 ?
Checksum af betalingkort, eller noget helt andet?
Hvis det er til check af betalingskort, så virker den c++ code ikke, for den tager numrene
fra venstre til höjre, og ikke omvendt.
Desuden laver konstruktoren dette:
for(int i=0;i<size;i++)
TelSum+=fi(data);
istedet for nmoget i stil ned dette:
for(int i=0;i<size;i++)
TelSum+=fi(data[i]);
Nå, men endeligt så er dette check afligevel ikke nok for at sikre sig at et kort er gyldigt.
Det er en betingelse at dette check opfyldes, men det er ikke nok, for måske findes kortet ikke afligevel, eller det er udlöbet, eller der er ikke penge tilbage på det eller hvad ved jeg.
Denne slags check kan kun bruges som et pre-check inden man beder et clearing hus (pbs) om at checke hos kortudgiver.
Derfor er det også fint at checke hvad type kort vi snakker om, så du kan spare kald til clearing med forkert kort type .. brugeren burde jo kende sin kort type, ikke ?!?
Jeg ville have dette både i php, inden kaldet til clearing, men også i javascript i selve formen der submitter, så brugeren ikke skal vente unödigt længe hvis han har skrevet et tal forkert i kortnumeret.
Har allerede lavet et javascript der checker kort-type og nummer, bruger LUHN mod 10, som ser rimelig ens ud med den algoritme som FI71 baserer sig på, bortset fra at LUHN altid skal udföres fra höjre til venstre (höjre tal först) .. men jeg har en mistanke om at det samme gælder FI71 .. ihvertfald hvis den skal checke et betalingskorts nummer-gyldighed.
Se her for LUHN og korttype detekt:
http://www.beachnet.com/~hstiles/cardtype.htmlOg skriv endelig tilbage og fortæl hvad FI71 er og hvad du skal bruge det til.
Hilsen Jonatan
ok nu kan jeg se at det var udviklerens furom der lavede data(i) om til data
[Redigeret d. 25/04-03 09:43:17 af Jonatan Hertel]