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

MS SQL Server Discussion :

EncryptByPassPhrase et taille du texte à encrypter


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Par défaut EncryptByPassPhrase et taille du texte à encrypter
    Bonjour à tous,

    Je fais des tests avec la fonction EncryptByPassPhrase() en sqlserver 2008 et voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    update test set mdp=EncryptByPassPhrase('ma cle qui crypte', N'A little learning is a dangerous thing!', NULL)
    where test_id = 1
     
    SELECT mdp AS 'Encrypted test', 
    CONVERT(nvarchar, DecryptByPassphrase('ma cle qui crypte', mdp, NULL)) AS 'Decrypted test'
    FROM test
    WHERE test_id = 1
    Tout se déroule correctement sauf que le résultat que j'obtiens est tronqué :

    Encrypté :

    0x010000004B15D06D6CBC387B78CCB048EE484A7950773C729DC7D3BAA162B0F9ACDF105EE437C2FA32CCF0D125B1354F3DD2E91CCB96946C57FC16AD6C7E250EF454099D26BDE17031C9600286DFFDC011A2B55A4279D20380D82F13711C703C4C4A7233
    Décrypté :

    A little learning is a dangero

    On peut voir qu'en décrypté mon texte a été coupé à 30 caractères. J'ai bien vu que la fonction prenait en entrée 8000 octets mais je ne pense pas y être, une idée pour m'aider ou m'expliquer cette coupure dans mon texte ?

    Je précise que mon champ mdp est un varbinary(1024) en base de données.

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Il faut préciser la taille du type nvarchar dans la fonction CONVERT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT mdp AS 'Encrypted test', 
    CONVERT(nvarchar(4000), DecryptByPassphrase('ma cle qui crypte', mdp, NULL)) AS 'Decrypted test'
    FROM test
    WHERE test_id = 1
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A_little_learning_is_a_dangerous_thing!

  3. #3
    Membre confirmé
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Par défaut
    Super ! merci à toi

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Explication :
    Que ce soit pour la fonction CAST ou CONVERT dont les prototypes respectifs sont les suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CAST ( expression AS data_type [ ( length ) ] )
    CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
    Lorsque l’argument, facultatif, length n’est pas renseigné, sa valeur par défaut est 30.
    Ce qui explique pourquoi, ta chaine décryptée était tronquée à 30 caractères.

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

Discussions similaires

  1. [javascript][IE6] changement automatique taille du texte
    Par MatMeuh dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 04/12/2008, 12h05
  2. Taille du texte dans un ActiveX
    Par Audin'S dans le forum MFC
    Réponses: 1
    Dernier message: 27/05/2005, 13h43
  3. [Débutant][JLabel] Connaître la taille du texte
    Par Herisson_f dans le forum Composants
    Réponses: 8
    Dernier message: 04/05/2005, 10h53
  4. [JTable] ajuster la taille d'une colonne à la taille du texte
    Par GETah dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 24/02/2005, 11h53
  5. taille du texte dans un viewport
    Par pitounette dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/07/2002, 12h06

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