如何加密对Web Service ASMX的响应/请求?

时间:2011-12-01 20:57:45

标签: c# .net-2.0 asmx

这是我的小型网络服务演示:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)] 
public class ServicePrueba : System.Web.Services.WebService
{
    [WebMethod(EnableSession=true)]
    public int SayHello()
    {
        int counter;
        if (Context.Session == null)
        {
            counter = 1;
        }
        else
        {
            int tmpCounter = Convert.ToInt32(Context.Session["Counter"]);
            counter = tmpCounter + 1;
        }

        Context.Session["Counter"] = counter;
        return counter;
    }
}

以下是我通过Console客户端应用程序调用它的方法:

class Program
{
    static void Main(string[] args)
    {
        ServicePrueba serviceProxy = new ServicePrueba();

        /*Set the cookie container on the proxy.*/
        var cookies = new System.Net.CookieContainer();
        serviceProxy.CookieContainer = cookies;

        Console.WriteLine(serviceProxy.SayHello());
        Console.ReadKey();

        Console.WriteLine(serviceProxy.SayHello());
        Console.ReadKey();

        Console.WriteLine(serviceProxy.SayHello());
        Console.ReadKey();

        Console.WriteLine(serviceProxy.SayHello());
        Console.ReadKey();

        Console.WriteLine(serviceProxy.SayHello());
        Console.ReadKey();

        Console.ReadKey(true);
    }
}

我的问题是,来电和通过电汇的信息是否是纯文本? (有没有办法看看这些数据是什么样的?)

如何保护这些敏感信息免受窥探?我想简单地对消息进行加密,这样当它通过网络时就会发出乱码。

2 个答案:

答案 0 :(得分:3)

您应该使用HTTPS。通过HTTPS连接托管它将解决此问题。

答案 1 :(得分:0)

您可以通过数据包嗅探工具(如http://www.wireshark.org/download.html)查看流量来分析数据包。我很积极,它不是很有用。