一个winform的登录界面 输入用户和密码后向后台ashx发送数据 用户名和密码是通过DES加密的 所以会有 + = / 这些特殊符号
但是 后台接收
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string user= context.Request.Form["user"];
string pwd= context.Request.Form["pwd"];
context.Response.Write(pwd);
}
输出的pwd 其中特殊符号 = 变成 %3D +号变成空格了 /变成%2f 导致后台解密失败 我在登录端使用了 string pdata=string.format("user={0}&pwd={1}","加密后的用户名","加密后的密码");
string url= "http://192.168.1.101:8089/Handle/Login.ashx"
HttpUtility.UrlEncode(pdata);
后台ashx使用了 HttpUtility.UrlDecode( context.Request.Form["user"]); 结果还是编码有问题 麻烦问问大家我这个该怎么处理
但是 后台接收
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string user= context.Request.Form["user"];
string pwd= context.Request.Form["pwd"];
context.Response.Write(pwd);
}
输出的pwd 其中特殊符号 = 变成 %3D +号变成空格了 /变成%2f 导致后台解密失败 我在登录端使用了 string pdata=string.format("user={0}&pwd={1}","加密后的用户名","加密后的密码");
string url= "http://192.168.1.101:8089/Handle/Login.ashx"
HttpUtility.UrlEncode(pdata);
后台ashx使用了 HttpUtility.UrlDecode( context.Request.Form["user"]); 结果还是编码有问题 麻烦问问大家我这个该怎么处理
解决方案 »
- 【分享】iTextSharp转pdf
- exe文件如何注册到服务里(可以随电脑启动)
- 怎样循环给TreeNode.Tag赋值,在线结贴
- 怎样取消已经添加到textBox中的数据?最好是C#的!谢谢指点
- 双重循环问题
- 紧急求助:在计算机上如何控制打印文件类型,比如只允许打印机打印execl,不能打印word
- 小弟在线急等!求教高手!一些简单的问题
- 求助:一个怪问题,已经调试了四天了。
- 请问,在C#种怎么将一个float型数字四舍五入
- treeview问题
- winform 即时通讯怎么实现发图片 就是把图片转二进制流 发送给服务端 然后服务端转发给客户端 客户端再转成图片 我QQ2472002594
- DataTable插入一行数据,更新至Sql提示主键错误,求助
或者干脆把1个字节转成2个字节的16进制字符串
服务端再转回来
最后就是 登陆多久重新生成token 和 重新登陆生成token。你使用的是ajax传的吗? 如果是 使用winfrom后台post的二进制, 你得把接收到的转回 来。 然后在取。 直接 ontext.Request.Form是取不到的吧。
只是把加密的密文传输到服务器 服务器正常解密就是正确的 客户端是不会存在秘钥的 我们发给客户登录的也是密文 送去服务器解密的没有秘钥 客户端如何加密那? 除非有公钥和私钥 但是 你用的是DES 加密 加密和解密 的8位字符必须一样才行 。 有代码看看吗? 我看下你客户端如何加密 的。 学习下。
只是把加密的密文传输到服务器 服务器正常解密就是正确的 客户端是不会存在秘钥的 我们发给客户登录的也是密文 送去服务器解密的没有秘钥 客户端如何加密那? 除非有公钥和私钥 但是 你用的是DES 加密 加密和解密 的8位字符必须一样才行 。 有代码看看吗? 我看下你客户端如何加密 的。 学习下。
就是说 客户端产生一个机器码 机器码发给我们经由加密后发给客户 客户登录则把密文发往服务器能正常解密就是对的 然后返回重要数据
也可以我们发一个账号给客户 客户拿账号去登录 客户端发送机器码和账号去服务器 如果账号存在 则服务器直接加密机器码发回客户端
只是把加密的密文传输到服务器 服务器正常解密就是正确的 客户端是不会存在秘钥的 我们发给客户登录的也是密文 送去服务器解密的没有秘钥 客户端如何加密那? 除非有公钥和私钥 但是 你用的是DES 加密 加密和解密 的8位字符必须一样才行 。 有代码看看吗? 我看下你客户端如何加密 的。 学习下。
就是说 客户端产生一个机器码 机器码发给我们经由加密后发给客户 客户登录则把密文发往服务器能正常解密就是对的 然后返回重要数据
也可以我们发一个账号给客户 客户拿账号去登录 客户端发送机器码和账号去服务器 如果账号存在 则服务器直接加密机器码发回客户端
客户端产生一个机器码 产生这个客户端加密的地方 是安装客户电脑的 exe文件吗? 如果是 就是没用的,除非, 客户申请, 然后服务端加密返回给客户, 客户用服务端返回的 在去 服务端登陆 解密。 因为加密解密都在服务端没办法看到。
只是把加密的密文传输到服务器 服务器正常解密就是正确的 客户端是不会存在秘钥的 我们发给客户登录的也是密文 送去服务器解密的没有秘钥 客户端如何加密那? 除非有公钥和私钥 但是 你用的是DES 加密 加密和解密 的8位字符必须一样才行 。 有代码看看吗? 我看下你客户端如何加密 的。 学习下。
就是说 客户端产生一个机器码 机器码发给我们经由加密后发给客户 客户登录则把密文发往服务器能正常解密就是对的 然后返回重要数据
也可以我们发一个账号给客户 客户拿账号去登录 客户端发送机器码和账号去服务器 如果账号存在 则服务器直接加密机器码发回客户端
客户端产生一个机器码 产生这个客户端加密的地方 是安装客户电脑的 exe文件吗? 如果是 就是没用的,除非, 客户申请, 然后服务端加密返回给客户, 客户用服务端返回的 在去 服务端登陆 解密。 因为加密解密都在服务端没办法看到。
是的客户端产生机器码 但是加密机器码不是在客户端完成的 服务器用秘钥加密机器码形成密文 发送给客户端 客户端再回发服务器 在解密而已 现在问题是遇到服务器接收密文的时候 产生的编码问题 现在也解决了 不是很完美 用的Replace。