0

復号化する SQLBinary 変数を受け取る ac# アセンブリがあります...

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

簡単なデバッグのために、select ステートメントの列として (SqlBinary)argValue を含めます。この SqlBinary 値がクエリに適切に配置されているようには見えません。

argValue は次のように使用されています。

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

返されるものは (SqlBinary)argValue の切り詰められたバージョンのように見えます

4

1 に答える 1

0

私自身の質問への答え:

decryptbykey の結果を varchar にキャストする必要がありました...当然です! :)

于 2009-03-02T21:46:46.790 に答える