我有一个c#程序集,它接受一个SQLBinary变量来解密......

[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;

我将(SqlBinary)argValue作为一个列包含在select语句中,以便进行简单的调试。它看起来好像没有正确地将这个SqlBinary值放入查询中。

正在使用argValue:

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

返回的内容看起来像是(SqlBinary)argValue

的截断版本
有帮助吗?

解决方案

回答我自己的问题:

我必须将decryptbykey的结果转换为varchar ... duh! :)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top