begin process at 2008 07 04 23:34:32
1 204 997 membres
512 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VÉRIFICATION CB ET EUROCARD


Information sur la source



Description

une simple classe pour vérifier les numéros de visa ou d'eurocard

Source

  • Namespace ecommerce
  • Public Class Valide_CB
  • Private tmp_digits As String = "0123456789"
  • Public Function CardValidate(ByVal DDLtypeCarte As String, ByVal TxtNumCarte As String) As Boolean
  • Dim bValid As Boolean
  • If (DDLtypeCarte = "VISA" Or DDLtypeCarte = "CarteBleue") Then
  • Dim totalcarte As Integer = 0
  • Dim increment As Integer = 0
  • If Len(TxtNumCarte) <> 16 Then
  • bValid = False
  • Exit Function
  • End If
  • Dim i As Integer
  • Dim numero As Integer
  • For i = Len(TxtNumCarte) To 1 Step -1
  • numero = CInt(Mid(TxtNumCarte, i, 1))
  • increment = increment + 1
  • If increment Mod 2 <> 0 Then
  • totalcarte = totalcarte + numero
  • Else
  • numero = numero * 2
  • If numero >= 10 Then
  • totalcarte = totalcarte + 1 + numero - 10
  • Else
  • totalcarte = totalcarte + numero
  • End If
  • End If
  • Next
  • If totalcarte Mod 10 <> 0 Then
  • bValid = False
  • Else
  • bValid = True
  • End If
  • ElseIf DDLtypeCarte = "EuroCard" Then
  • bValid = True
  • Dim number As String = ""
  • ' make sure there are only numbers in the string...
  • number = fKeepOnlyDigits(TxtNumCarte)
  • Dim chiffre1 As String = Mid(number, 1, 1)
  • Dim chiffre2 As String = Mid(number, 2, 1)
  • Dim longueur As Integer = Len(number)
  • If chiffre1 <> "5" Or chiffre2 < "1" Or chiffre2 > "5" Then
  • bValid = False
  • End If
  • '--| anne : longueur du numero carte > 16
  • 'if longueur = 16 then
  • If longueur <> 16 Then
  • bValid = False
  • End If
  • End If
  • Return bValid
  • End Function
  • Public Function fKeepOnlyDigits(ByVal TxtNumCarte As String) As String
  • Dim sResults As String = TxtNumCarte
  • Dim i As Integer = 1
  • While i <= Len(sResults)
  • If InStr(tmp_digits, Mid(sResults, i, 1)) > 0 Then
  • i = i + 1
  • Else
  • sResults = Left(sResults, i - 1) + Mid(sResults, i + 1)
  • End If
  • End While
  • Return sResults
  • End Function
  • End Class
  • End Namespace
Namespace ecommerce

    Public Class Valide_CB

        Private tmp_digits As String = "0123456789"

        Public Function CardValidate(ByVal DDLtypeCarte As String, ByVal TxtNumCarte As String) As Boolean
            Dim bValid As Boolean

            If (DDLtypeCarte = "VISA" Or DDLtypeCarte = "CarteBleue") Then
                Dim totalcarte As Integer = 0
                Dim increment As Integer = 0

                If Len(TxtNumCarte) <> 16 Then
                    bValid = False
                    Exit Function
                End If
                Dim i As Integer
                Dim numero As Integer
                For i = Len(TxtNumCarte) To 1 Step -1
                    numero = CInt(Mid(TxtNumCarte, i, 1))
                    increment = increment + 1

                    If increment Mod 2 <> 0 Then
                        totalcarte = totalcarte + numero
                    Else
                        numero = numero * 2
                        If numero >= 10 Then
                            totalcarte = totalcarte + 1 + numero - 10
                        Else
                            totalcarte = totalcarte + numero
                        End If
                    End If
                Next

                If totalcarte Mod 10 <> 0 Then
                    bValid = False
                Else
                    bValid = True
                End If
            ElseIf DDLtypeCarte = "EuroCard" Then
                bValid = True
                Dim number As String = ""
                ' make sure there are only numbers in the string... 
                number = fKeepOnlyDigits(TxtNumCarte)
                Dim chiffre1 As String = Mid(number, 1, 1)
                Dim chiffre2 As String = Mid(number, 2, 1)
                Dim longueur As Integer = Len(number)
                If chiffre1 <> "5" Or chiffre2 < "1" Or chiffre2 > "5" Then
                    bValid = False
                End If
                '--| anne : longueur du numero carte > 16
                'if longueur = 16 then
                If longueur <> 16 Then
                    bValid = False
                End If
            End If
            Return bValid
        End Function

        Public Function fKeepOnlyDigits(ByVal TxtNumCarte As String) As String
            Dim sResults As String = TxtNumCarte
            Dim i As Integer = 1
            While i <= Len(sResults)
                If InStr(tmp_digits, Mid(sResults, i, 1)) > 0 Then
                    i = i + 1
                Else
                    sResults = Left(sResults, i - 1) + Mid(sResults, i + 1)
                End If
            End While
            Return sResults
        End Function
    End Class

End Namespace
  • signaler à un administrateur
    Commentaire de multipac le 28/06/2005 10:48:41

    On aurait bien aimé trouver un commentaire afin d'expliquer les procédures et leur intégration dans une application !!
    JA suis dans le domaine des cartes de paiement, donc intéréssé par ce module.

  • signaler à un administrateur
    Commentaire de AbriBus le 28/06/2005 14:47:49

    Salut,
    Moi je suis pas dans le domaine en question mais je suis de nature curieuse. Voila mes remarques:
    1/ Tout d'abord, je suis d'accord avec MULTIPAC cette source manque cruellement de commentaires (au passage on remarque qu'une ligne n'est pas commentée en francais... la source est de toi ?). Bref dommage de faire un prog interressant comme celui ci (et innovant de surcroit) sans vraiment dire pourquoi par le biais des commentaires.
    2/ Comme je disais, je ne suis pas dans le domaine du télépayement mais je suis curieux de savoir ou tu as pu trouver la procedure de vérification... ne serait-ce que pour rendre un peu plus "serieux" le post de la source...
    Sinon... créativité 10/10... j'attend de voir pour metre la note...

    AbriBus

  • signaler à un administrateur
    Commentaire de multipac le 28/06/2005 16:25:35

    A vrai dire, Je n'ai pas testé ces procédures.
    Juste en lisant le code, je ne confirme pas le 10/10 en terme de créativité M. ABRIBUS.
    D'abord un numéro de carte n'est pas limité à 16 chiffres.
    En plus si c'est bon en terme de clé luhn, il faut alors vérifier la validité selon l'émetteur de la carte ( Institution émettrice ), si encore c'est bon, il faut le vérifier selon des tables de BINs de chez VISA et MASTERCARD.

  • signaler à un administrateur
    Commentaire de AbriBus le 28/06/2005 16:55:22

    En fait, quand je parle de la créativité, je remercie ici l'auteur de n'avoir pas posté une source (de plus) qui soit ou un chat, ou un mailsender ou encore comme j'ai vu recemment un convertisseur ASCII <=> Char (je parle pas des convertisseurs euro)
    La validité de l'emmeteur doit pouvoir etre vérifié mais je peux dire ici que tout les systemes de télépaiement ne le font pas... et un truc qu'il ne font jamais c'est de vérifier la validité de la carte ET de l'emmeteur en meme temps ce qui pose probleme pour les vrais cartes, avec le vrai nom de son détenteur dessus... et vraiment volée... le seul moyen d'y parvenir est d'avoir une liaison avec la banque concernée... bien sur, je suis d'accord avec [vous], on en est pas encore la bien loin de la. Je maintient donc ce que j'ai dit sur mon premier post, et souligne une nouvelle fois, je ne suis pas dans le secteur banquaire donc bien sur mes critères d'évaluations sont probablement tres différents des [votres] M. MULTIPAC.

    AbrIBAN

  • signaler à un administrateur
    Commentaire de debourgeois le 03/02/2006 18:15:18

    salut j'ai un key logger et je voudrais savoir comment faire pour espionner l'ordinateur de ma femme juste en lui envoyant un mail .
    si quelqu'un a la réponse qu'il me la donne

    Merci d'avance  

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS