Pergunta

Eu tenho um c # assembly que leva em uma variável SQLBinary para descriptografar ...

[SqlProcedure(Name="Decrypt")]
public static SqlInt32 Decrypt(SqlBinary toDecrypt)
{
    return runQuery(toDecrypt);
}

// decrypt or encrypt is determined based on the datatype of argValue
private static SqlInt32 runQuery(object argValue)
{
    // create connection and command

       command.Parameters.Add("@argValue", SqlDbType.VarBinary, 1024).Value = (SqlBinary)argValue;

I incluem o (SqlBinary) argValue como uma coluna na instrução SELECT para simples depuração. Ela não aparecem como se este valor SqlBinary está devidamente sendo colocado na consulta.

argValue está sendo usado assim:

QueryString += "SELECT decryptbykey(@argValue);";

O que está sendo devolvido parece uma versão truncada de (SqlBinary) argValue

Foi útil?

Solução

Resposta à minha pergunta:

Eu tive que converter o resultado de DecryptByKey a um varchar ... duh! :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top