.net URL传参加密处理

记得前段时间看到过一个关于淘宝URL加密的方法,但现在忘记了,今天有点时间所以自己写了一个用哈希表来处理URL参数的方法。
首先想到的当然是序列化,所以做了以下测试;
 1    public partial class Test : System.Web.UI.Page
 2    {
 3        Table dt = new Table();
 4        public delegate void ForMatEventHandler(string key, string value);
 5        protected void Page_Load(object sender, EventArgs e)
 6        {
 7            dt.Width =Unit.Parse("500px");
 8            dt.CellPadding = 2;
 9            dt.CellSpacing = 1;
10            dt.BorderWidth = 0;
11            dt.BackColor = Color.FromName("#ccc");
12
13            Hashtable hat = new Hashtable();
14            Hashtable hat2 = new Hashtable();
15            ForMatter(hat, AddRow);
16            ForMatter(hat2, AddRow);
17            hat.Add("1""abcdef");
18            ForMatter(hat, AddRow);
19            hat2.Add("城市""北京");
20            ForMatter(hat2, AddRow);
21            hat.Add("acd""defahefighsl");
22            ForMatter(hat, AddRow);
23            hat2.Add("地区""石景山区");
24            ForMatter(hat2, AddRow);
25            Page.Controls.Add(dt);
26        }

27        public void ForMatter(object obj, ForMatEventHandler eves)
28        {
29            System.IO.MemoryStream ms = new System.IO.MemoryStream();
30            IFormatter format = new BinaryFormatter();
31            format.Serialize(ms, obj);
32            ms.Position = 0;
33            byte[] bys = new byte[ms.Length];
34            ms.Read(bys, 0, (int)ms.Length);
35            if (eves != null)
36            {
37                eves(obj.GetHashCode().ToString(), Convert.ToBase64String(bys));
38            }

39            ms.Close();
40            ms.Dispose();
41        }

42        public void AddRow(string key, string value)
43        {
44            dt.Rows.Add(new TableRow());
45            dt.Rows[dt.Rows.Count - 1].Cells.Add(new TableCell() { Text = key, BackColor = Color.White });
46            dt.Rows[dt.Rows.Count - 1].Cells.Add(new TableCell() { Text = value, BackColor = Color.White });
47        }

48    }

49

浏览页发可以看到以下内容:
System.Collections.Hashtable AAEAAAD/////AQAAAAAAAAAEAQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlBwAAAApMb2FkRmFjdG9yB1ZlcnNpb24IQ29tcGFyZXIQSGFzaENvZGVQcm92aWRlcghIYXNoU2l6ZQRLZXlzBlZhbHVlcwAAAwMABQULCBxTeXN0ZW0uQ29sbGVjdGlvbnMuSUNvbXBhcmVyJFN5c3RlbS5Db2xsZWN0aW9ucy5JSGFzaENvZGVQcm92aWRlcgjsUTg/AAAAAAoKCwAAAAkCAAAACQMAAAAQAgAAAAAAAAAQAwAAAAAAAAAL
System.Collections.Hashtable AAEAAAD/////AQAAAAAAAAAEAQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlBwAAAApMb2FkRmFjdG9yB1ZlcnNpb24IQ29tcGFyZXIQSGFzaENvZGVQcm92aWRlcghIYXNoU2l6ZQRLZXlzBlZhbHVlcwAAAwMABQULCBxTeXN0ZW0uQ29sbGVjdGlvbnMuSUNvbXBhcmVyJFN5c3RlbS5Db2xsZWN0aW9ucy5JSGFzaENvZGVQcm92aWRlcgjsUTg/AAAAAAoKCwAAAAkCAAAACQMAAAAQAgAAAAAAAAAQAwAAAAAAAAAL
System.Collections.Hashtable AAEAAAD/////AQAAAAAAAAAEAQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlBwAAAApMb2FkRmFjdG9yB1ZlcnNpb24IQ29tcGFyZXIQSGFzaENvZGVQcm92aWRlcghIYXNoU2l6ZQRLZXlzBlZhbHVlcwAAAwMABQULCBxTeXN0ZW0uQ29sbGVjdGlvbnMuSUNvbXBhcmVyJFN5c3RlbS5Db2xsZWN0aW9ucy5JSGFzaENvZGVQcm92aWRlcgjsUTg/AQAAAAoKCwAAAAkCAAAACQMAAAAQAgAAAAEAAAAGBAAAAAExEAMAAAABAAAABgUAAAAGYWJjZGVmCw==
System.Collections.Hashtable AAEAAAD/////AQAAAAAAAAAEAQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlBwAAAApMb2FkRmFjdG9yB1ZlcnNpb24IQ29tcGFyZXIQSGFzaENvZGVQcm92aWRlcghIYXNoU2l6ZQRLZXlzBlZhbHVlcwAAAwMABQULCBxTeXN0ZW0uQ29sbGVjdGlvbnMuSUNvbXBhcmVyJFN5c3RlbS5Db2xsZWN0aW9ucy5JSGFzaENvZGVQcm92aWRlcgjsUTg/AQAAAAoKCwAAAAkCAAAACQMAAAAQAgAAAAEAAAAGBAAAAAbln47luIIQAwAAAAEAAAAGBQAAAAbljJfkuqwL
System.Collections.Hashtable AAEAAAD/////AQAAAAAAAAAEAQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlBwAAAApMb2FkRmFjdG9yB1ZlcnNpb24IQ29tcGFyZXIQSGFzaENvZGVQcm92aWRlcghIYXNoU2l6ZQRLZXlzBlZhbHVlcwAAAwMABQULCBxTeXN0ZW0uQ29sbGVjdGlvbnMuSUNvbXBhcmVyJFN5c3RlbS5Db2xsZWN0aW9ucy5JSGFzaENvZGVQcm92aWRlcgjsUTg/AgAAAAoKCwAAAAkCAAAACQMAAAAQAgAAAAIAAAAGBAAAAANhY2QGBQAAAAExEAMAAAACAAAABgYAAAAMZGVmYWhlZmlnaHNsBgcAAAAGYWJjZGVmCw==
System.Collections.Hashtable AAEAAAD/////AQAAAAAAAAAEAQAAABxTeXN0ZW0uQ29sbGVjdGlvbnMuSGFzaHRhYmxlBwAAAApMb2FkRmFjdG9yB1ZlcnNpb24IQ29tcGFyZXIQSGFzaENvZGVQcm92aWRlcghIYXNoU2l6ZQRLZXlzBlZhbHVlcwAAAwMABQULCBxTeXN0ZW0uQ29sbGVjdGlvbnMuSUNvbXBhcmVyJFN5c3RlbS5Db2xsZWN0aW9ucy5JSGFzaENvZGVQcm92aWRlcgjsUTg/AgAAAAoKCwAAAAkCAAAACQMAAAAQAgAAAAIAAAAGBAAAAAblnLDljLoGBQAAAAbln47luIIQAwAAAAIAAAAGBgAAAAznn7Pmma/lsbHljLoGBwAAAAbljJfkuqwL

其实从上面的数字可以看出哈希表序列化后前面的那一部分代码是一样的,所以我们没有必要把这些拿去传输,再说太找的URL也不好吧,所以我就使用了。。。
Code
posted @ 2009-09-13 11:33  竹子小毅  阅读(1282)  评论(0编辑  收藏  举报