IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Besoin d'aide pour optimiser un algorithme


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Besoin d'aide pour optimiser un algorithme
    Bonjour à tous,

    J'utilise ce bout de code pour encoder grossièrement des fichiers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    import sys
    import StringIO
    import operator
     
    filename = sys.argv[1]
    pw = "MONSUPERMOTDEPASS"
     
    f = open(filename, "rb")
    str1 = f.read()
    f.close()
     
    sr = StringIO.StringIO(str1)
    sw = StringIO.StringIO(str1)
    sr.seek(0)
    n = 0
     
    for k in range(len(str1)):
        print k
        # attention origin if n >= len(pw) -1:
        if n >= len(pw):
            n = 0
        p = ord(pw[n])
        n += 1
     
        c = sr.read(1)
        b = ord(c)
        # xor byte with password byte
        t = operator.xor(b, p)
        z = chr(t)
        # advance position to k in stream sw then write one character
        sw.seek(k)
        sw.write(z)
     
    sw.seek(0)
     
    f = open(filename[:-4]+".flc","wb")
    f.write(sw.read())
    f.close()
     
    sr.close()
    sw.close()
    Pour des petits fichiers ca va, les temps d'executions sont acceptables mais pour des fichiers de 2Mo, c'est vraiment catastrophique...

    Merci de votre aide...

  2. #2
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 752
    Points
    1 752
    Par défaut
    Bonjour,
    que veux-tu faire exactement ? Qu'entends-tu par "encoder mes fichiers" ?

    PS : un algorythme bat la mesure mais pas le pavé de l'orthographe française...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par rambc Voir le message
    Bonjour,
    que veux-tu faire exactement ? Qu'entends-tu par "encoder mes fichiers" ?

    PS : un algorythme bat la mesure mais pas le pavé de l'orthographe française...
    merci de répondre rapidement.

    Je leur appliques ce traitement pour faire en sorte qu'il ne soit pas lisible directement mais seulement par l'application.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,
    Pourquoi n'utilisez vous pas un algorithme de crypto standard?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    Pourquoi n'utilisez vous pas un algorithme de crypto standard?
    - W
    salut wiztricks,
    parce que c'est flash qui decode.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Ma proposition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import os, sys, array, operator
    from itertools import cycle, imap
     
    filename = sys.argv[1]
     
    pw = "MONSUPERMOTDEPASS"
    pw = map(ord, pw) # convertit en liste d'entiers une fois pour toutes
     
    arr = array.array('B')
    with open(filename, 'rb') as f:
        # détermine la taille du fichier
        f.seek(0, os.SEEK_END)
        sz = f.tell()
        f.seek(0, os.SEEK_SET)
        # lit le contenu du fichier dans le tableau
        arr.fromfile(f,sz)
     
    # calcul du résultat
    arr = array.array('B',imap(operator.xor, arr, cycle(pw)))
     
    # écriture du résultat
    filename = os.path.splitext(filename)[0] + '.flc'
    with open(filename, 'wb') as f:
        arr.tofile(f)

Discussions similaires

  1. [AIDE] besoin d'aide pour réaliser un algorithme
    Par quaresma dans le forum Algorithmes et structures de données
    Réponses: 40
    Dernier message: 18/01/2008, 09h35
  2. [PL / SQL] Besoin d'aide pour Optimisation
    Par shaun_the_sheep dans le forum SQL
    Réponses: 24
    Dernier message: 13/02/2007, 14h32
  3. Besoin d'aide pour optimiser du code
    Par scaleo dans le forum Langage
    Réponses: 1
    Dernier message: 07/01/2007, 13h56
  4. besoin d'aide pour optimiser une requête
    Par jisse dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2006, 09h41
  5. Besoin d'aide pour optimiser requête SQL
    Par Keuf95 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/09/2005, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo