Bonjour.
Voici une question un peu bête mais j'utilise donc EncryptByPassPhrase pour crypter le contenu d'une textox de type password en ASP.NeT dont voici la syntaxe sous SQL Server 2008 Express :
J'utilise donc un mot clef "test" pour crypter le contenu "123456789".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DECLARE @PassPhrase nvarchar(50) SET @PassPhrase = N'test' DECLARE @EncryptedPassword varbinary(256) SET @EncryptedPassword = EncryptByPassPhrase(@PassPhrase , N'123456789', NULL)
Vous noterez que les "N" juste avant le passphrase et le mot de passe servent à indiquer que le texte est en caractères unicode.
Quant je veux récupérer le contenu de ma colonne "MotDePasse" par DecryptByPassPhrase, jusque là, pas de soucis, cela fonctionne bien.
Mon souci, c'est que quand je souhaite intégrer ce code à l'intérieur d'une procédure stockée, je récupère le mot de passe en paramètre, et pas moyen de mettre le N pour le unicode devant. Et si je ne met pas ce N devant le mot de passe, le decryptage ne se fait pas correctement...
Exemple :
Avec la variable @MotDePasse, donc, je ne sais pas appliquer le formatage unicode, je ne sais pas mettre ce : N devant
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 ALTER PROCEDURE dbo.blablabla @MotDePasse varchar(50) AS BEGIN SET NOCOUNT ON DECLARE @PassPhrase nvarchar(50) SET @PassPhrase = N'cow' DECLARE @EncryptedPassword varbinary(256) SET @EncryptedPassword = EncryptByPassPhrase(@PassPhrase , @MotDePasse, NULL) RETURN END
Merci pour l'aide
Partager