zoukankan      html  css  js  c++  java
  • 网站安全技术—加强页面间传值的安全性Convert.ToBase64String

      阅读目录

      一:加强页面间传值的安全性

      二:Convert.ToBase64String

      三:运行效果

      一:加强页面间传值的安全性

      使用查询字符串进行页面间传值的过程中,一定要把查询字符串要传递的值进行加密,以下是未对查询字符串加密的URL:http://localhost:3337/ProductView.aspx?ID=12,用户可以修改查询字符串的值,例如:将ID=12改为ID=16,ID=16本是VIP才能访问的产品页面,这样的话,就可以做到访问没有权限的页面,所以要想保证查询字符串的安全,可以使用加密算法,解密算法,对查询字符串中要传递的值进行加密,例如加密后的效果:http://localhost:3337/ProductView.aspx?ID=Z9j8pUm

      这种方法不是很安全,当别人知道你是通过Convert.ToBase64String这种方法加密查询字符串的话,别人同样可以用Convert.FromBase64String这个方法来解密你加密后的查询字符串

      二:Convert.ToBase64String

      ParameterEncryptDecrypt.aspx

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Configuration;
      using System.Web.Configuration;
      using EPG.CommonClass;
      using System.IO;
      using System.Text;

      namespace EPG.WebAdmin.EncryptDecrypt
      {
          public partial class ParameterEncryptDecrypt : System.Web.UI.Page
          {
              protected void Page_Load(object sender, EventArgs e)
              {
                  string strParameter = Request.QueryString["ID"].ToString();//查询字符串
                  //Convert.ToBase64String的参数需要一个字节数组,所以我们先要把查询字符串转化为字节数组
                  byte[] bytes = Encoding.Default.GetBytes(strParameter);
                  string strEncryptParameter = Convert.ToBase64String(bytes);//加密后的参数
                  Response.Write("<br/>加密后的值为:" + strEncryptParameter);
              }

              /// <summary>
              /// 解密参数
              /// </summary>
              /// <param name="sender"></param>
              /// <param name="e"></param>
              protected void btnParameter_Click(object sender, EventArgs e)
              {
                  string strParameter = Request.QueryString["ID"].ToString();
                  byte[] bytes = Encoding.Default.GetBytes(strParameter);
                  string strEncryptParameter = Convert.ToBase64String(bytes);//加密后的参数
                  byte[] bytes2 = Convert.FromBase64String(strEncryptParameter);
                  string strDecryptParameter = Encoding.Default.GetString(bytes2);//解密后的参数
                  Response.Write("<br/>解密后的值为:"+ strDecryptParameter);
              }
          }
      }

      三:运行效果

      

      

      

      

  • 相关阅读:
    windows phone 7 中文天气预报应用来源http://www.cnblogs.com/liulunet/archive/2011/08/17/2141696.html
    Margin 属性的一些边界情况说明 转http://blog.csdn.net/ghj1976/article/details/4987686
    C#中的委托和事件(续)
    Windows Phone 7开发,进度条ProgressBar使用详解
    Silverlight BitmapImage的SetSource(Stream streamSource)致命性错误的解决办法
    Windows Phone 7 页面间传值 来源http://blog.csdn.net/dncts/article/details/6160067
    windows phone textblock C#设置颜色以及换行
    C# 中的委托和事件
    jsp连接Sql2008
    jsp连接Sql2008delete操作
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2364712.html
Copyright © 2011-2022 走看看