Ver Mensaje Individual
  #14 (permalink)  
Antiguo 14/05/2008, 16:43
Avatar de Myakire
Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Encriptación SQL Server y ASP

Bueno, parece que el problema es del proveedor del SQL que no regresa el dato al IIS, pero haciéndolo directamente en la BD ya funciona dado que con parámetros de salida lo hace bien:
Código:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spValida]
@Clave char(10) output
AS
BEGIN
	SET NOCOUNT ON;


CREATE ASYMMETRIC KEY ClaveAsimetrica
WITH ALGORITHM = RSA_2048;

INSERT INTO TEST (ClaveTxt, ClaveEncrip)
VALUES ('$$Clave$$', EncryptByAsymKey(AsymKey_ID('ClaveAsimetrica'), '$$Clave$$'))

SELECT @Clave = 
       CAST(DecryptByAsymKey(AsymKey_ID('ClaveAsimetrica'), ClaveEncrip) as VARCHAR)
FROM TEST

END
Y el código ASP:
Código:
   cmd.CommandText = "spValida"
 	 cmd.CommandType=adCmdStoredProc
   cmd.Parameters.Append (cmd.CreateParameter("@Clave",      adchar, adParamOutput,10))
	 cmd.Prepared = True
	 cmd.Execute
	 
	 response.write "Valor: " & cmd.Parameters("@Clave")
Esto por fin, da el resultado esperado

Saludos!