logo Homepage
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [resolu] recherche script verifiant algorithme de LUHN  (Lu 6120 fois)
#Z@tox#

Profil challenge

Classement : 273/54254

Membre Complet
***
Hors ligne Hors ligne
Messages: 175


Voir le profil WWW
« le: 15 Juin 2018 à 10:41:42 »

Hello les amis,

au boulo nous avons un vieux soft codé avec Neobook (on rigole pas hein) mais qui fait le job a merveille,

grosso modo, ce soft nous permet de saisir des empreintes de CB, elle sont cryptées, puis stockées sur un serveur et préllevées aux dates souhaitées par nos clients de manière automatisée.

Le soft nous permet également de récupérer pas mal d'infos et surtout il y a des passerelles faites avec notre logiciel de compta et le protocole de paiement.

bref, ce que nous souhaiterions mettre en place pour faire evoluer la bete, c'est un controle que les n° de cartes saisis soient bien corrects.

car les erreurs de saisies des comptables sont nombreuses (fautes de frappe).

J'ai la main sur le code source de la bete, mais je cherche un script vérifiant l'algorithme de luhn.

j'ai trouvé des srcipts tout faits sur le web en PHP, python ou perl,
sauf que il faut impérativement que celui-ci soit codé en VBS, batch, javascript ou  avec les fonctions Neobook. car le programme tourne en local, sous windows et sur une 30 aine de postes (donc on va pas installer easyPHP partout.

SI certains d'entre vous peuvent m'aider, je suis preneur car là je seche totalement.

Merci
« Dernière édition: 15 Juin 2018 à 16:01:59 par #Z@tox# » Journalisée

^ ^_ _ < >< > B A
wiwiland
Beta testeur

Profil challenge

Classement : 107/54254

Membre Complet
*
Hors ligne Hors ligne
Messages: 175


Voir le profil
« #1 le: 15 Juin 2018 à 11:13:09 »

Pourquoi ne pas essayer de le coder toi même ? L'algo est archi simple et demande des opérations très basiques.
Journalisée
#Z@tox#

Profil challenge

Classement : 273/54254

Membre Complet
***
Hors ligne Hors ligne
Messages: 175


Voir le profil WWW
« #2 le: 15 Juin 2018 à 11:29:25 »

j'ai posté trop vite c'est finalement ce que j'ai fait :

voilà le code BATCH pour ceux que ca interesse.

Code:
@echo off
setlocal enabledelayedexpansion
 
call :luhn NUMERO_DE_CARTE

exit /b 0
 
:luhn
set input=%1
set cnt=0
set s1=0&set s2=0
:digit_loop
set /a cnt-=1
set /a isOdd=^(-%cnt%^)%%2
 
if !isodd! equ 1 (
set /a s1+=!input:~%cnt%,1!
) else (
set /a twice=!input:~%cnt%,1!*2
if !twice! geq 10 (
set /a s2+=!twice:~0,1!+!twice:~1,1!
) else (
set /a s2+=!twice!
)
)
if "!input:~%cnt%!"=="!input!" (
set /a sum=^(!s1!+!s2!^)%%10
if !sum! equ 0 (echo > report.txt Carte Valide) else (echo > report.txt carte Invalide)
goto :EOF
)
goto digit_loop
Journalisée

^ ^_ _ < >< > B A
Pages: [1]
  Imprimer  
 
Aller à: