http://localhost/Test/UserManage/Default.aspx?id=3036657c-277c-476c-982d-75f154e09050如上,请问如何将页面传递的参数id进行隐藏或加密,以使客户端看不到传递的参数值?
解决方案 »
- aspnet1.1升级到aspnet2.0关于updatepanel的问题。
- 使用literal的过程中,里面有checkbox,如何遍历其中的checkbox
- asp.net的上传代码运行错误,使用FileUpload上传文件,结果出现对路径“F:\项目\tazhispc\xinjizhong\excel”的访问被拒绝。
- aspx页面能转成PDF吗?
- 一个简单的变量命名问题 想听听解释~~~
- Server.Transfer 传值问题
- sessionState mode设置保存方式为“SQLServer”后的一些问题
- 三层结构是怎样的?
- =====难道是BUG么?(快进来抓啊)====
- asp.net mvc4的智能提示没了?
- VS2008的项目怎么转到VS2005里面呢?
- 怎么判断一个文件在服务器上是否存在.
Byte[] Iv64 ={ 66, 55, 22, 44, 55, 66, 77, 85 };
Byte[] byKey64 ={ 10, 20, 30, 40, 13, 60, 70, 80 };//调用时候///Response.Redirect("***.aspx?ID="+ytEncrypt(name+","+pass));
//加密
public string ytEncrypt(string strText)
{
try
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(strText);
MemoryStream ms = new MemoryStream();
string strTest = des.CreateEncryptor(byKey64, Iv64).ToString ();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey64, Iv64), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
string stTest1 = Convert.ToBase64String(ms.ToArray());
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
} //解密调用string deString = ytDecrypt(request["ID"]);
//解密(解密密钥和加密密钥是同一个密钥)
public string ytDecrypt(string strText)
{
if (IsNullorEmpty(strText))
{
return "";
}
Byte[] inputByteArray = new byte[strText.Length];
try
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey64, Iv64), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
好像有缺陷的,感觉不太好用,可以考虑用其他方式传值的
这是UNIQUE的形式
数据库好好学习啊
o(∩_∩)o...
再说ID要加密干嘛啊
多此一举