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

Delphi Discussion :

Cryptage avec XOR du signe euro


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 81
    Par défaut Cryptage avec XOR du signe euro
    Bonjour à tous,

    Je teste actuellement l'écriture et la lecture de fichier avec cryptage/décryptage avec le XOR et la fonction que j'ai marche pour tout les caractères sauf le caractère '€' pour qui, suite au décryptage, je me retrouve avec un autre caractère qui diffère suivant la position du signe euro dans le texte (jusqu'à présent je me retrouve avec soit un chiffre soit un point virgule suite au décryptage): comment faire?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 493
    Par défaut
    salut

    comment fait tu ton cryptage ?

    voici une réponse faite sur ce forum il y a déjà quelque temps ^^
    developpez delphi cryptage xor cle variable/

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 81
    Par défaut
    Voici ma fonction ce sera plus simple:
    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
    function TForm1.XorStr(Str: String; Key: LongInt): String;
    var
      i:integer;
      j:integer; // Sélection du Jième caractère de la clé
      StCrypt:string;
      StrKey:string;
    begin
      StCrypt:=''; //Initialise la variable
      StrKey := IntToStr(Key);
      j := 1;
     
      for i:=1 to Length(Str) do // Pour tous les caractères de notre chaine
      begin
        if j=Length(StrKey) then
          j:=1;
     
        StCrypt:=StCrypt+Char(ord(Str[i]) xor StrToInt(StrKey[j])); // On effectue le cryptage
     
        j := j+1;
      end;
      result:=StCrypt; //Renvoie le résultat
    end;
    Pour l'instant la clé ne peut être qu'une suite de chiffre, préférant commencer par quelque chose de "simple" et complexifier par la suite.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Bonjour,

    Sinon il y a ici une solution intéressante library CryptoV64 : http://www.developpez.net/forums/d14...-epilogue-2-a/

    et qui constitue l'achèvement de cette discussion : http://www.developpez.net/forums/d14...ier-byte-byte/

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,
    Citation Envoyé par seb68270 Voir le message
    Je teste actuellement l'écriture et la lecture de fichier avec cryptage/décryptage avec le XOR et la fonction que j'ai marche pour tout les caractères sauf le caractère '€' pour qui, suite au décryptage, je me retrouve avec un autre caractère qui diffère suivant la position du signe euro dans le texte (jusqu'à présent je me retrouve avec soit un chiffre soit un point virgule suite au décryptage): comment faire?
    Le fichier utilise quel format d'encodage ? ANSI ? Unicode ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 81
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Bonjour,
    Le fichier utilise quel format d'encodage ? ANSI ? Unicode ?
    Bonjour,

    Le moment boulet de la journée: je ne sais pas ... On vérifie ça comment?

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Citation Envoyé par seb68270 Voir le message
    Le moment boulet de la journée: je ne sais pas ... On vérifie ça comment?
    Un éditeur de texte comme Notepad++ indique le format d'encodage du fichier texte.

    De plus quelle est la version de Delphi utilisé (jusqu'à 2007 les chaines sont ansi, à partir de 2009 les chaines sont unicode) ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 81
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Un éditeur de texte comme Notepad++ indique le format d'encodage du fichier texte.

    De plus quelle est la version de Delphi utilisé (jusqu'à 2007 les chaines sont ansi, à partir de 2009 les chaines sont unicode) ?
    J'ai ouvert le fichier txt avec Notepad++ et, quand je clique sur "Encodage", j'ai "Encoder en UTF-8 (Sans BOM)" de sélectionner.

    Pour ce qui est de la version de Delphi, j'utilise Delphi 2010.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 81
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Un éditeur de texte comme Notepad++ indique le format d'encodage du fichier texte.

    De plus quelle est la version de Delphi utilisé (jusqu'à 2007 les chaines sont ansi, à partir de 2009 les chaines sont unicode) ?
    N'ayant toujours pas de solution à ce problème, je me permets de venir relancer: ce serait quel format d'encodage qu'il faudrait utiliser pour que la méthode de cryptage que j'utilise fonctionne correctement ?

  10. #10
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 938
    Billets dans le blog
    6
    Par défaut
    pê utiliser dans la routine des AnsiString (codage des caractères sur un octet) ou tableau d'octets pour XORiser, puis les afficher comme String (UTF-8 = stockage de certains caractères dans plus d'un octet).
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Bonjour,

    Seb68270 : N'ayant toujours pas de solution à ce problème,
    As-tu au moins essayé la library CryptoV64 que j'ai citée dans mon message #4 du 23/01/2015, 11h32 ???
    Car avant de la citer j'ai vérifié que le caractère '€' est correctement crypté/décrypté avec elle.
    En plus on n'est pas obligé de l'utiliser telle qu'elle pour en créer la DLL puisqu'il suffit d'en extraire la routine et la coller dans son propre code.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

Discussions similaires

  1. [PHP 5.3] Problème avec apostrophe et signe euro
    Par galak6 dans le forum Langage
    Réponses: 5
    Dernier message: 01/02/2012, 15h11
  2. Problème avec le signe euro (€)
    Par linar009 dans le forum Administration système
    Réponses: 4
    Dernier message: 18/03/2007, 22h07
  3. [ImageMagick] imagettftext et signe euro ?
    Par laurent_h dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/07/2006, 16h43
  4. cryptage avec HSQLDB
    Par chti_juanito dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 03/05/2006, 08h44
  5. [C#] Problème signe EURO
    Par gumma dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/06/2005, 17h16

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