MS CRM Workflow中的Scramble输入参数值

时间:2013-10-31 15:32:36

标签: c# dynamics-crm-2011 workflow-foundation

是否有一种简单的方法可以在MS CRM 2011工作流程的输入参数中加扰值?

我有一系列自定义步骤的工作流程,用于在第三方系统中执行某些操作。这需要将URL和凭据传递给该系统。

我想知道有没有可能加扰输入参数?因此,不将此登录信息公开给所有用户是安全的吗?

2 个答案:

答案 0 :(得分:1)

您可以实现编码技术,并在工作流活动中执行解码部分。

这是隐藏用户凭据的最简单方法。

答案 1 :(得分:0)

我按照Guido Preite的建议做了。写了两个简单的函数来使用简单的XOR

来加密和解扰认证字符串
private static string Encode(string text)
{
    byte[] result = Encoding.ASCII.GetBytes(text);
    int[] values = new int[result.Length];

    for (int i = 0; i < text.Length; i++)
    {
        result[i] = (byte)(Convert.ToInt32(text[i]) ^ 42);
    }

    return Convert.ToBase64String(result);
}

private static string Decode(string text)
{
    byte[] result = Convert.FromBase64String(text);

    for (int i = 0; i < result.Length; i++)
    {
        result[i] = (byte)(result[i] ^ 42);
    }

    return Encoding.ASCII.GetString(result);
}

加扰字符串的关键是42