关于如何向C#的WebService传送一个经过加密后的字符串问题
Foxer 2006-08-30 03:06:48 这几天做个WebService和VFP协同工作的程序
前台为VFP,WebService用C#编写,由于WebService使用的http传送数据,所以都是明码的,而我的程序要传送一些用户名、密码之类的敏感信息,所以,要求这些信息在传送的时候必须经过加密。
首先,用VFP和C#做两个功能相同的加密和解密的函数。
然后,把VFP加密后的字符串传送给WebService的一个方法A,方法A接受此字符串后,用前面的解密算法进行解密后得到原始字符串。
这里出现了问题
在VFP中调用WebService方法:
cMidString = T01("XXXXXX") && 产生加密的字符串
oMuseServer = ThisForm.wsMuseServer.SetupClient(cWebServiceUrl ,"MuseWebService","MuseWebServiceSoap") &&创建WebService对象
oMuseServer.Test1(cMidString) &&调用WebService方法,此处出错(数据类型错误)
C#的方法如下:
...
[WebMethod]
public string Test1(byte[] b)
{
return s;
}
...
在这里,Test1函数接受的参数改成string、char[]、byte[]均出现错误,因为在VFP中加密后的字符串是“乱码”,string是不可以的,同样char[]也不行,但byte[]为什么不行呢?
这个问题我已经解决了,在这里提出来,给大家提供一个经验,因为这样做程序的还是比较少的
每人答出来的话,我再给答案:)