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 :

chiffrement et caractères exotiques


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Par défaut chiffrement et caractères exotiques
    Salut,
    je suis entrain de programmer des (data encryption standard) avec python,j'ai realisé une fonction qui prend un texte en clair d'un fichier,le transforme en ascci puis en binaire,le chiffre par bloc de 64 bits et retourne et affiche le cyphertext dans le shell. j'ai remarqué que le resultat affiché est différent de celui retourné meme si dans le code il sont les memes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def tochar(m):
        i=0
        s=''
        while i<len(m):
            k=m[i:i+8]   "chaque 8 bits presente un caractere"
            print(chr(int(k,2)),end='')
            s=s+chr(int(k,2))
            i=i+8
        return s
    m est le message chiffré(sous forme binaire)
    par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> l=encrypt2('h.txt',k)
    úé©B$Ž
    >>> l
    \x0cé©B$\x1d\x8e'
    et cela pose un probleme au niveau de déchiffrement.

    merci d'avance pour votre aide

  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    \x0c correspond au caractère ascii à la valeur 12. Caractère non imprimable. Donc forcément, dans le print ça passe pas terrible.

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Par défaut
    ok,et merci

  4. #4
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Je connait le problème il faut additionner (si non ascii) la representation des valeur comme \x1d avec \x8e pour Ž car une occurenze Ž[0] donnera \x1d, et non \x1d\x8e, afin de pouvoir traiter ces caractères grace a la somme obtenue, car pour le traitement c'est pas pareil que pour un simple l'affichage.
    pour imprimer Ž il faur faire:Je sais pas si j'ai répondu a ta question en tout cas c'est un conseil que je te donne...
    J'ai écrit un prog qui travaille en str (python26) qui traite tous les caractères meme spécial non ascii de mon clavier.
    Bon python a toi.

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 17

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Salut,

    Je ne vois pas trop l'intérêt d'essayer dans ce cas d'afficher les "glyphs" qui correspondent aux entiers: afficher la représentation hexadécimale devrait être plus "adaptée" non?

    Je ne sais pas quelle est la version de Python que vous utilisez et vous ne nous montrez pas comment est ouvert/lu le fichier... et le polymorphisme de Python ne permet pas de savoir si la fonction tochar(m) traite des bytes ou de l'unicode.

    Cordialement,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Problème de chiffrement des caractères spéciaux avec PyCrypto
    Par nilslauwers dans le forum Bibliothèques tierces
    Réponses: 12
    Dernier message: 08/04/2015, 16h22
  2. Chiffrement RSA - Problème avec des caractères accentués
    Par HommeDeJava dans le forum Sécurité
    Réponses: 10
    Dernier message: 01/02/2012, 17h14
  3. Conversion UTF => ISO et caractères "exotiques"
    Par tomlev dans le forum Langage
    Réponses: 7
    Dernier message: 24/03/2009, 09h39
  4. caractères exotiques sous python
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 9
    Dernier message: 28/08/2007, 20h33
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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