A propos de EncryptByPassPhrase
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 :
Code:
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) |
J'utilise donc un mot clef "test" pour crypter le contenu "123456789".
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 :
Code:
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 |
Avec la variable @MotDePasse, donc, je ne sais pas appliquer le formatage unicode, je ne sais pas mettre ce : N devant
Merci pour l'aide