Optimisation

Résolu
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 19 juil. 2008 à 14:10
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 19 juil. 2008 à 19:45
Bonjour,

Mon projet de diplôme consiste à lire un fichier sur le disque dur du client, le crypter, l'envoyer au serveur et le décrypter en PHP.
Je fais le cryptage via un applet Java. Je lis le fichier txt, converti en code ASCII et crypte des groupes de caractères.
Le souci, c'est que l'applet Java fait moins d'une seconde pour crypter un petit fichier texte d'une dizaine de lignes alors qu'il faut
au moins 30 fois plus de temps pour le décrypter alors que la méthode est la même.

Voici mon code PHP. Si quelqu'un voit rien qu'une petite chose qui pourrait être optimisée dans ce code, c'est très volontiers:

function algorithme($var)
{
    global $cle_1;
    global $cle_2;
   
    $res=$var;
    for($i=2;$i<=$cle_1;$i++)
    {
    $res=bcmod(bcmul($res,$var),$cle_2);
    }
    return $res;
}

PS: Je viens d'intégrer la possibilité de supporter les grands entiers (classe BCMath), la vitesse et la même qu'avant cette modification

Merci d'avance,

FF

2 réponses

banbanfr Messages postés 132 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 15 février 2011
19 juil. 2008 à 17:29
function algorithme($var)
{
    global $cle_1, $cle_2;
   
    $res=$var;

    for($i=2;$i<=$cle_1;$i++)
         $res = bcmod( bcmul($res,$var),$cle_2 );

    return $res;
}

Cordialement Banban
-------------------------------------------------------------------------->
Developpement sous MAC
Firefox - Safarie - Internet Explorer - Opéra
Mon site pro : www.wubart.net
Mon site perso : www.mafiacity.fr
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
19 juil. 2008 à 19:45
Salut,

je n'ai pas de réponse comme ça, je ne connais même pas ces fonctions.

Par contre un moyen de contourner le problème, je ne sais pas si tu as le droit de faire ça : un algorithme de décryptage dans un autre langage, qui sera appelé par php avec exec( ).

à+
Rejoignez-nous