Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2008, 03:55
ivanargulo
 
Fecha de Ingreso: marzo-2008
Mensajes: 12
Antigüedad: 17 años, 1 mes
Puntos: 0
Encriptación SQL Server y ASP

Buenas!

Este tema no sé si debe ir en ASP o en SQL Server, pero me parece que es mas propio aquí.

Tengo un procedimiento almacenado de la siguiente forma

Código PHP:
CREATE PROCEDURE ep.sp_datos_cliente
    
(
        @
IdCliente int,
        @
Clave nvarchar(50)    
    )
AS
BEGIN

    SET NOCOUNT ON
;

    DECLARE @
KEYID INT

    EXEC ep
.sp_id_clave_asimetrica @KEYID = @KEYID OUTPUT

    SELECT  CAST
(DecryptByAsymKey(@KEYIDPass, @Clave) AS varchar(MAX)) AS Pass 
    FROM Clientes
    WHERE IdCliente 
= @IdCliente
END 
El campo "Pass" guarda la contraseña encriptada en el servidor. Ejecutando este procedimiento almacenado desde SQL Server veo la contraseña desencriptada y correctamente.

Sin embargo, al recogerlo desde ASP, el campo aparece vacío. Como información adicional, si recojo otros campos de la base de datos todos se muestran correctamente.

El código ASP no tiene nada, simplemente crear un procedimiento almacenado y recoger los valores (lo tengo todo creado con funciones, así que no tiene mucho sentido).

Código PHP:
CrearSP sp"ep.sp_datos_cliente"
            
ParamIN sp"IdCliente"adVarChar10016
(etc)
                
EjecutarSP rssp

Response
.Write rs("Pass"
Deciros que este código está probado y funcionando en mil procedimientos, sólo falla al leer campos codificados.

¿Alguna idea? He probado cambiando los tipos de parámetros como adWVarChar, etc. Y nada...

Gracias de antemano