zoukankan      html  css  js  c++  java
  • QueryString加密

    有些人不想由URL暴露一些訊息,除了可以使用URL Rewrite之外,其實簡便一點的方法還有使用編碼or加密來達到偽裝的目的。使用Base64的原因是因為他的編碼不會有難以接受的特殊字元(註1),你也可以用其他的編碼or加密算法替代(註2)。其實這邊已經有一串很精彩的討論,我只是覺得其實如果要用Base64的話還可以更精簡成這樣:

    01 public static string EncodeString(string toEncode)
    02 {
    03   try
    04   {
    05     byte[] toEncodeAsBytes = Encoding.UTF8.GetBytes(toEncode);
    06     return Convert.ToBase64String(toEncodeAsBytes);
    07   }

    08   catch (Exception ex)
    09   {
    10     //do your error handling here
    11   }

    12 }

    13 
    14 public static string DecodeString(string toDecrypt)
    15 {
    16   try
    17   {
    18     byte[] encodedDataAsBytes = Convert.FromBase64String(toDecrypt.Replace(" ""+"));
    19     return Encoding.UTF8.GetString(encodedDataAsBytes);
    20   }

    21   catch (Exception ex)
    22   {
    23     //do your error handling here
    24   }

    25 }

    註1:Base64編碼過後的字串有可能會包含加號(+),而加號會自動被瀏覽器轉換成空格(" "),所以反編碼前要先把空格轉回加號(第18行)才不會造成解碼失敗。

    註2:如果你要加上額外的加密演算法(例如3DES, TDES),建議用Base64包在最外層,也就是先加密、再用Base64編碼。

  • 相关阅读:
    Navicat加载缓慢
    使用Typora上传博客到博客园
    echart柱状图X轴文字换行
    pc端可以滑动,手机端不能滑动
    select选择最近3年的年份查询
    JQ延时模糊查询
    reset.css
    base64加密
    第四次博客作业结对项目
    WPF DataGrid显示网格 和TImer定时器
  • 原文地址:https://www.cnblogs.com/sohobloo/p/2249544.html
Copyright © 2011-2022 走看看