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

WinDev Discussion :

CrypteStandard() + DecrypteStandard() [WD21]


Sujet :

WinDev

  1. #1
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut CrypteStandard() + DecrypteStandard()
    Bonjour,

    Je souhaite utiliser le cryptage proposé par les fonctions Windev CrypteStandard et DecrypteStandard() mais je coince sur un point...

    Je vous explique :

    Dans l'exemple de PcSoft on peux lire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Cryptage d’une chaîne de caractères en utilisant l’algorithme AES
    sMessage est un Buffer = "Message à crypter"
    bufCle est un Buffer = HashChaîne(HA_MD5_128, "mot de passe")
    bufCrypte est un Buffer = CrypteStandard(sMesssage, bufCle, crypteAES128)
    // Décryptage
    sRésultat est un Buffer = DécrypteStandard(bufCrypte, bufCle, crypteAES128)
    Info(sRésultat)
    L'info affiché retourne bien la chaine cryptée du départ !

    Maintenant je souhaite stocker temporairement la chaine cryptée dans un fichier texte afin de la relire plus tard ! Voici mon code :
    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
     
    // Code pour écrire dans le fichier
    cFichierChiffrement     	est une chaîne = "C:\Chiffrement.txt"
    bufChaineACrypter	est un Buffer = "Hahahaha"
    bufCleChiffrement		est un Buffer = HashChaîne(HA_MD5_128, "mot de passe")
    bufChaineCryptée	        est un Buffer
     
    SI fFichierExiste(cFichierChiffrement) = Faux ALORS fCrée(cFichierChiffrement)
     
    bufChaineCryptée = CrypteStandard(bufChaineACrypter,bufCleChiffrement,crypteAES128)
    fSauveBuffer(cFichierChiffrement,bufChaineCryptée)
     
     
    // Code pour lire le fichier
    bufChaineCryptée 	= fChargeBuffer(cFichierChiffrement)
    bufChaineDécryptée = DécrypteStandard(bufChaineCryptée,bufCleChiffrement,crypteAES128)
    Info(bufChaineDécryptée)
    Là mon info n'affiche rien ! Et en débogage je n'arrive pas non plus à relire la chaine !!!!
    Par contre la comparaison des deux fonctionne !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SI bufChaineDécryptée = bufChaineACrypter alors 
       info("Vrai")
    FIN

    Ma question serait comment lire un texte dans une variable de type buffer ?


    Merci d'avance
    Google est ton ami !

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Ton cryptage te renvoie des infos binaires. Du coup, celui-ci n'est pas du texte.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Alors pourquoi cela fonctionne t-il dans l'exemple PcSoft ?
    Google est ton ami !

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Sans l'exemple PCSOFT, tu as juste un affichage. Il se peut que des caractères soient invisibles.

    Le mieux est de :
    - convertir et visiualiser ta chaine cryptée en hexa
    - d'éditer ton fichier généré avec un éditeur Hexa,
    - puis de voir ce qui est lu en hexa également.

    Je me rappelle avoir eu des soucis lorsque j'enregistrais des mots de passes cryptés dans un fichier ini. Il y a des caractères spéciaux dedans.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    J'ai trouvé la solution :
    Le fichier que je charge contenant la chaine crypter a été créé avec la fonction fSauveTexte() et non fSauveBuffer() ! Je m'en suis aperçu en copiant/collant le code que j'ai tapé dans ce premier post : cela marche bien car j'ai fais un fSauveBuffer() !
    Google est ton ami !

  6. #6
    Membre averti Avatar de LeonCosnyd
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 439
    Points : 368
    Points
    368
    Par défaut
    Merci à toi frenchsting pour ton aide !

    Google est ton ami !

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut!
    +1 à tous les 2! Je viens de résoudre ce souci sur un ancien projet avec fsauvetexte à tout bout de champ

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

Discussions similaires

  1. [WD20] Fonction cryptestandard avec clé
    Par Ibico dans le forum WinDev
    Réponses: 6
    Dernier message: 27/10/2015, 17h08

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