首页
登录 | 注册

URL参数加密解密过程

加密代码

 
  1       public static string Encode(string str, string key)
 
  2         {
 
  3             DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
 
  4             provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
 
  5             provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
 
  6             byte[] bytes = Encoding.UTF8.GetBytes(str);
 
  7             MemoryStream stream = new MemoryStream();
 
  8             CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);
 
  9             stream2.Write(bytes, 0, bytes.Length);
 
  10             stream2.FlushFinalBlock();
 
  11             StringBuilder builder = new StringBuilder();
 
  12             foreach (byte num in stream.ToArray())
 
  13             {
 
  14                 builder.AppendFormat("{0:X2}", num);
 
  15             }
 
  16             stream.Close();
 
  17             return builder.ToString();
 
  18         }
 
  解密代码
 
  1  public static string Decode(string str, string key)
 
  2         {
 
  3             DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
 
  4             provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
 
  5             provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
 
  6             byte[] buffer = new byte[str.Length / 2];
 
  7             for (int i = 0; i < (str.Length / 2); i++)
 
  8             {
 
  9                 int num2 = Convert.ToInt32(str.Substring(i * 2, 2), 0x10);
 
  10                 buffer[i] = (byte)num2;
 
  11             }
 
  12             MemoryStream stream = new MemoryStream();
 
  13             CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
 
  14             stream2.Write(buffer, 0, buffer.Length);
 
  15             stream2.FlushFinalBlock();
 
  16             stream.Close();
 
  17             return Encoding.GetEncoding("GB2312").GetString(stream.ToArray());
 
  18         }
 
  前台
 
  

 
  
 
  
 
  
 
  

 
  后台代码
 
  1   protected void btnok_Click(object sender, EventArgs e)
 
  2         {
 
  3
 
  4             txtbox.Text = Helper.Encode(txtbox.Text.Trim(), "Rainight").Trim();
 
  5
 
  6
 
  7
 
  8
 
  9         }
 
  10
 
  11         protected void btncanel_Click(object sender, EventArgs e)
 
  12         {
 
  13             txtbox.Text = Helper.Decode(txtbox.Text.Trim(), "Rainight").Trim();
 
  14             Response.Write(Helper.Decode(txtbox.Text.Trim(), "Rainight"));
 
  15         }

相关文章

  • 主要实现的功能有:         1.支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝(白名单权重高于黑名单).         2.支持URL白名单,将不需要过滤的URL进行定义.         3.支持User-Agent的过 ...
  • PHP WEB 安全防御
    案例 $_GET['username'] = "' or 1=1 -- '"; $_GET['password'] = "123456"; 注入后的Sql语句: 防御 推荐解决方案是使用 PDO 或 ...
  • 作者:gfree.wind@gmail.com 博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net 微博:weibo.com/glinuxer QQ技术群:4367710 本文记录一次 ...
  • rewrite模块介绍 nginx的重写模块是一个简单的正则表达式匹配与一个虚拟堆叠机结合.依赖于PCRE库,因此需要安装pcre.根据相关变量重定向和选择不同的配置,从一个location跳转到另一个location,不过这样的循环最多可 ...
  • ptmalloc中的fastbin chunk的合并过程
    ptmalloc中的fastbin chunk的合并过程     最近在设计一个memcache协议队列的内存管理模块,其实malloc和free并不是想象中的那种,malloc完空间free就会马上把内存返回给操作系统,所以了解一下gli ...
  • --prefix= 指向安装目录 --sbin-path 指向(执行)程序文件(nginx) --conf-path= 指向配置文件(nginx.conf) --error-log-path= 指向错误日志目录 --pid-path= 指向 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号