乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      加密解密類(C#)

       悟靜 2013-01-09

      using System;
      using System.Text;
      using System.IO;
      using System.Web.UI;
      using System.Web.Security;
      using System.Globalization;
      using System.Security.Cryptography;

      namespace Baolee.GeneralMethod
      {
       /// <summary>
       /// Encrypt 的摘要說明。
       /// </summary>
       public class Encrypt
       {  
        /// <summary>
        /// 構(gòu)造函數(shù)
        /// </summary>
        public Encrypt(Page mPage)
        {
         //
         // TODO: 在此處添加構(gòu)造函數(shù)邏輯   
         //
        }
        private static string ByteToString(byte[] b)
        {
         StringBuilder builder = new StringBuilder();
         for (int i = 0; i < b.Length; i++)
         {
          builder.AppendFormat("{0:X2}", b[i]);
         }
         return builder.ToString();
        }
        /// <summary>
        /// if don't input key , Use default key
        /// </summary>
        /// <param name="str">Desc string </param>
        /// <returns></returns>
        public static string Decode(string str)
        {
         return Decode(str, "Rainight");
        }
        /// <summary>
        /// Des 解密 GB2312
        /// </summary>
        /// <param name="str">Desc string</param>
        /// <param name="key">Key ,必須為8位 </param>
        /// <returns></returns>
        public static string Decode(string str, string key)
        {
         DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
         provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
         provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
         byte[] buffer = new byte[str.Length / 2];
         for (int i = 0; i < (str.Length / 2); i++)
         {
          int num2 = Convert.ToInt32(str.Substring(i * 2, 2), 0x10);
          buffer[i] = (byte) num2;
         }
         MemoryStream stream = new MemoryStream();
         CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
         stream2.Write(buffer, 0, buffer.Length);
         stream2.FlushFinalBlock();
         stream.Close();
         return Encoding.GetEncoding("GB2312").GetString(stream.ToArray());
        }
        /// <summary>
        /// Des 解密字符串 UTF8
        /// </summary>
        /// <param name="sInputString">sInputString</param>
        /// <param name="sKey">sKey</param>
        /// <returns></returns>
        public string DecryptString(string sInputString, string sKey)
        {
         string[] textArray = sInputString.Split("-".ToCharArray());
         byte[] inputBuffer = new byte[textArray.Length];
         for (int i = 0; i < textArray.Length; i++)
         {
          inputBuffer[i] = byte.Parse(textArray[i], NumberStyles.HexNumber);
         }
         DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
         provider.Key = Encoding.ASCII.GetBytes(sKey);
         provider.IV = Encoding.ASCII.GetBytes(sKey);
         byte[] bytes = provider.CreateDecryptor().TransformFinalBlock(inputBuffer, 0, inputBuffer.Length);
         return Encoding.UTF8.GetString(bytes);
        }
        /// <summary>
        /// If don't input key , Use default key
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Encode(string str)
        {
         return Encode(str, "Rainight");
        }
        /// <summary>
        /// Des 加密 GB2312
        /// </summary>
        /// <param name="str"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string Encode(string str, string key)
        {
         DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
         provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
         provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
         byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(str);
         MemoryStream stream = new MemoryStream();
         CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);
         stream2.Write(bytes, 0, bytes.Length);
         stream2.FlushFinalBlock();
         StringBuilder builder = new StringBuilder();
         foreach (byte num in stream.ToArray())
         {
          builder.AppendFormat("{0:X2}", num);
         }
         stream.Close();
         return builder.ToString();
        }
        /// <summary>
        /// Des 加密 ,可以處理漢字 UTF8
        /// </summary>
        /// <param name="sInputString"></param>
        /// <param name="sKey"></param>
        /// <returns></returns>
        public string EncryptString(string sInputString, string sKey)
        {
         byte[] inputBuffer = Encoding.UTF8.GetBytes(sInputString);
         DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
         provider.Key = Encoding.ASCII.GetBytes(sKey);
         provider.IV = Encoding.ASCII.GetBytes(sKey);
         return BitConverter.ToString(provider.CreateEncryptor().TransformFinalBlock(inputBuffer, 0, inputBuffer.Length));
        }
        /// <summary>
        /// Base64字符串解碼
        /// </summary>
        /// <param name="str">Base64編碼的字符串</param>
        /// <returns>字符串</returns>
        public static string FromBase64(string str)
        {
         try
         {
          byte[] bytes = Convert.FromBase64String(str);
          str = Encoding.Default.GetString(bytes);
         }
         catch (Exception)
         {
         }
         return str;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="str">要加密的字串,default use MD5 encrypt </param>
        /// <returns></returns>
        public static string MD5Encrypt(string str)
        {
         return MD5Encrypt(str, "MD5");
        }

        /// <summary>
        ///
        /// </summary>
        /// <param name="str">要加密的字串  </param>
        /// <param name="StrFormate">type of MD5 or SHA1 </param>
        /// <returns></returns>
        public static string MD5Encrypt(string str, string StrFormate)
        {
         if (StrFormate.ToUpper() == "SHA1")
         {
          return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");
         }
         if (StrFormate.ToUpper() == "MD5")
         {
          return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
         }
         return "";
        }
        /// <summary>
        /// PB 的解碼
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string PBDecode(string str)
        {
         return PBDecode(str, "boalee");
        }
        /// <summary>
        /// PB的解碼
        /// </summary>
        /// <param name="str"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string PBDecode(string str, string key)
        {
         string text = "";
         int length = key.Length;
         for (int i = 0; i < str.Length; i++)
         {
          int num3 = (i + 1) % length;
          if (num3 == 0)
          {
           num3 = length;
          }
          int num = str[i] - key[num3 - 1];
          if (num < 0)
          {
           num += 0xff;
          }
          text = text + num.ToString();
         }
         return text;
        }
        /// <summary>
        /// PB 的編碼
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string PBEncode(string str)
        {
         return PBEncode(str, "boalee");
        }
        /// <summary>
        /// PB 的編碼
        /// </summary>
        /// <param name="str"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string PBEncode(string str, string key)
        {
         string text = "";
         int length = key.Length;
         for (int i = 0; i < str.Length; i++)
         {
          int num3 = (i + 1) % length;
          if (num3 == 0)
          {
           num3 = length;
          }
          int num = str[i] + key[num3 - 1];
          if (num > 0xff)
          {
           num -= 0xff;
          }
          text = text + num.ToString();
         }
         return text;
        }
        /// <summary>
        /// 字符串編碼為Base64
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string ToBase64(string str)
        {
         try
         {
          str = Convert.ToBase64String(Encoding.Default.GetBytes(str.ToCharArray()));
         }
         catch (Exception)
         {
         }
         return str;
        }
       }
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約