对网站地址进行加密
来源:互联网 发布:股票交易记录软件 编辑:程序博客网 时间:2024/05/24 07:24
对网址加密:
第一步:.先添加一个UITools类,对网址进行加密和机密
这个类可以为类中类 如:
public class UITools
{
public class Security
{
const string KEY_64 = "VavicApp";
const string IV_64 = "VavicApp"; //注意了,是8个字符,64位
public static string Encode(string data)
{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
int i = cryptoProvider.KeySize;
MemoryStream ms = new MemoryStream();
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cst);
sw.Write(data);
sw.Flush();
cst.FlushFinalBlock();
sw.Flush();
return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
}
public static string Decode(string data)
{
byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(KEY_64);
byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV_64);
byte[] byEnc;
try
{
byEnc = Convert.FromBase64String(data);
}
catch
{
return null;
}
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(byEnc);
CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateDecryptor(byKey, byIV), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cst);
return sr.ReadToEnd();
}
}
}
第二步:
在项目中的webconfig中配置:
1.在<configSections>下配置
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
2. 将这个配置添加在<appSettings/>下
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/House(/d+)/.aspx</LookFor> //加密后的地址
<SendTo>~/Detail.aspx?ID=$1</SendTo> //解密后的地址样式
</RewriterRule>
<RewriterRule>
<LookFor>~/book(/d+)/.html</LookFor> //捕获到这样的url修改成下面样式的地址
<SendTo>~/ShowBook.aspx?ID=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/book_(.*)/.html</LookFor>
<SendTo>~/ShowBook2.aspx?key=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
3.在<httpModules>中添加配置
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
第三步:
添加引用URLRewriter.dll文件
第四步:
在页面中对<a>进行处理
如:<a href='<%#EnCode(Eval("Id"))%>'>详细</a>
a:其中 EnCode()为页面后台的一个方法,将标示id传过去在方法中调用UITOOLS方法中的encode加密方法进行加密
如:
public string EnCode(object o)
{
return "Book_" + Server.UrlEncode(UITools.Security.Encode(o.ToString()).Replace("+", "+")) + ".html";
}
b:在url地址传送过程中被模板配置中的<RewriterRule>
<LookFor>~/book_(.*)/.html</LookFor>
<SendTo>~/ShowBook2.aspx?key=$1</SendTo>
</RewriterRule>
截获对url进行重写为~/ShowBook2.aspx?key=$1 在showbook页面中的load方法中对加密后的标示进行解密 如:
string key = Server.UrlDecode(Request["key"]).Replace("+", "+");
//Response.Write(key);
string id=UITools.Security.Decode(key);
//Response.Write(id);
Server.Execute("~/ShowBook.aspx?id=" + id);
Response.End();
/////完成加密OK
- 对网站地址进行加密
- java对xml进行的DOM 解析以及如何对网站数据进行加密
- 对配置文件进行加密
- 对文件进行加密
- 对数据进行加密
- 对apk进行加密
- 分享如何使用PHP将URL地址参数进行加密传输提高网站安全性
- PHP将URL地址参数进行加密传输提高网站安全性
- 分享如何使用PHP将URL地址参数进行加密传输提高网站安全性
- 将Ansi编码的字符串进行Base64编码对迅雷地址加密解密
- 对网站进行嵌套
- ViKey加密狗对视频文件进行加密
- 对ASP页面进行加密
- 对MemoryStream进行压缩、加密
- MessageDigest对密码进行加密
- 对web.config进行加密
- 对字符串进行加密作业
- 对密码进行加密操作
- 鸡兔同笼
- android---SQLite
- Java或web中解决所有路径问题
- 用openjtag&eclipse测试mini2440流水灯程序
- schema概述
- 对网站地址进行加密
- 关于打印dataGridView中数据
- OpenCV与Qt 中图像格式的转换
- SQL面试题
- java泛型理解一
- Jexus web server V4.2版正式发布
- fast report 的使用说明
- 为什么调用glPushMatrix()和glPopMatrix()
- 第一章 欢迎来到Silverlight和WPF的世界