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.