crypter en vb - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 33 sur 33

crypter en vb



  1. #31
    bisou10

    Re : crypter en vb


    ------

    Il existe d'excellentes classes pour la crypto en .NET. A mon avis, transposer ca en C n'est pas plus compliqué que de le débugguer en VB.NET.

    -----

  2. #32
    physiquantique

    Re : crypter en vb

    Bonjour ,
    toujours sur mon projet ...
    La dernière fois j'avais dit qu'il marchait ...
    Mais j'avais tort : je rectifie : il ne marche que pour des clés petites ...
    Au dessus d'une certaine taille , j'ai l'impression que l'ordinateur fais des erreurs de calcul ou n'affiche pas le bon résultat parcequ'au moment de décrypter il me calcule des octets plus grands que 256...(ma clé est pourtant valide d est bien l'inverse modulaire de e dans Z/phi(n)Z , phi(n) est bien calculé ...).

    J'ai donc rajouté des fonctions "addition grand nombre" ,"multiplication grand nombre" qui prennent des chaines représentant des grands nombres en entrée et donnent le résultat en string .

    Elles marchent très bien pour des petits nombres là encore , mais quand je les utilise (notamment l'addition) pour des grandes chaines du style "74444444444444444444444444444 444444444444444444444444444444 44444444" , au moment d'éxecuter il ya une erreur : "impossible de convertir + en integer" .
    Et là je regarde les valeurs des variables :
    a qui n'est autre que la chaine précédente , à la valeur "7E+44" alors que la fonction utilise a en tant que chaine sans passer par un type numérique si ce n'est au moment d'additionner chiffre par chiffre ...
    J'ai l'impression que visual studio me cache quelquechose ...

    Avez vous une idée ?
    Merci d'avance
    Voici le code des functions :
    Code:
     Function bigaddition(ByVal m As String, ByVal n As String)
            Dim i As Integer = 0
            Dim a
            Dim b
            Dim atemp
            Dim btemp
            Dim result As String = ""
            Dim n1, n2
    
    
    
            Dim retenue = 0
            Dim add
    
    
            If m.Length > n.Length Then
                a = m
                b = n
            Else
                a = n
                b = m
    
            End If
           
            Dim lena = a.Length
            Dim lenb = b.Length
            While i < lena
                n1 = Mid(a, lena - i, 1)
    
                If i < lenb Then
                    n2 = Mid(b, lenb - i, 1)
                Else
                    n2 = 0
                End If
                add = retenue + CInt(n1) + CInt(n2)
                result = CStr(add Mod 10) & result
                If add > 9 Then
                    retenue = 1
                Else
                    retenue = 0
                End If
                i = i + 1
            End While
            If add > 9 Then
                result = "1" & result
    
            End If
            Return result
    
        End Function
        Function multichifrre(ByVal nombre As String, ByVal chiffre As Integer)
            Dim nombre2 = CStr(nombre)
    
    
            Dim nombretemp
            Dim result As String = ""
    
    
    
            Dim retenue = 0
    
            Dim mult
            Dim multstr
    
    
            Dim len = nombre2.Length
    
            Dim i As Integer = 0
            While i < len
                len = nombre2.Length
                nombretemp = Val(Mid(nombre2, len - i, 1))
                mult = nombretemp * chiffre + retenue
                multstr = CStr(mult)
    
                result = Mid(multstr, multstr.length) & result
                retenue = (mult - (mult Mod 10)) / 10
    
    
    
                i = i + 1
    
    
            End While
    
    
    
            If retenue <> 0 Then
                result = retenue & result
            End If
    
    
            Return result
    
    
    
        End Function
        Function bigproduit(ByVal a As String, ByVal b As String, Optional ByVal modulus As Double = 0)
            Dim i = 0
            Dim btemp As Integer
            Dim mult
    
            Dim result As String()
            Dim bstr As String = CStr(b)
            Dim lenb = bstr.Length
            Dim resultat As String = ""
    
    
            Dim j = 0
    
    
    
            While i < lenb
                btemp = Val(Mid(bstr, lenb - i, 1))
                ReDim result(i)
                result(i) = multichifrre(a, btemp)
                For j = 1 To i
                    result(i) = result(i) & "0"
                Next
    
                resultat = bigaddition(resultat, Val(result(i)))
    
    
    
                i = i + 1
            End While
            If modulus = 0 Then
    
    
                Return resultat
            Else
                Return (resultat Mod modulus)
            End If
    
    
    
    
        End Function
    Merci d'avance bonne journée
    vivons avec légerté

  3. #33
    physiquantique

    Re : crypter en vb

    non j'ai rien dit : j'avais programmer avec des double comme arguments ... en modifiant pour passer à des string , j'ai oublié d'enlever le "val(result(i))" dans la dernière fonction .
    vivons avec légerté

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Crypter la partition système avec True Crypt impossible
    Par brd dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 07/07/2012, 14h42
  2. crypter/decryp. facilement des .doc,.xls,et .htm contre curieux non informaticiens
    Par invitee4fa6f42 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 7
    Dernier message: 04/10/2011, 16h34
  3. logiciel pour crypter un fichier!
    Par elect2008 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 14/01/2011, 15h25