婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET加密解密算法分享

ASP.NET加密解密算法分享

熱門標簽:寧夏機器人電銷 t3出行地圖標注怎么做 400電話辦理最優質 河南語音外呼系統公司 400免費電話怎么辦理 河北網絡回撥外呼系統 外呼電銷機器人軟件 關于宗地圖標注技術規范 威海電銷
#region DES加密解密
    /// summary>
    /// DES加密
    /// /summary>
    /// param name="strSource">待加密字串/param>
    /// param name="key">32位Key值/param>
    /// returns>加密后的字符串/returns>
    public string DESEncrypt(string strSource)
    {
      return DESEncrypt(strSource, DESKey);
    }
    public string DESEncrypt(string strSource, byte[] key)
    {
      SymmetricAlgorithm sa = Rijndael.Create();
      sa.Key = key;
      sa.Mode = CipherMode.ECB;
      sa.Padding = PaddingMode.Zeros;
      MemoryStream ms = new MemoryStream();
      CryptoStream cs = new CryptoStream(ms, sa.CreateEncryptor(), CryptoStreamMode.Write);
      byte[] byt = Encoding.Unicode.GetBytes(strSource);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();
      cs.Close();
      return Convert.ToBase64String(ms.ToArray());
    }
    /// summary>
    /// DES解密
    /// /summary>
    /// param name="strSource">待解密的字串/param>
    /// param name="key">32位Key值/param>
    /// returns>解密后的字符串/returns>
    public string DESDecrypt(string strSource)
    {
      return DESDecrypt(strSource, DESKey);
    }
    public string DESDecrypt(string strSource, byte[] key)
    {
      SymmetricAlgorithm sa = Rijndael.Create();
      sa.Key = key;
      sa.Mode = CipherMode.ECB;
      sa.Padding = PaddingMode.Zeros;
      ICryptoTransform ct = sa.CreateDecryptor();
      byte[] byt = Convert.FromBase64String(strSource);
      MemoryStream ms = new MemoryStream(byt);
      CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Read);
      StreamReader sr = new StreamReader(cs, Encoding.Unicode);
      return sr.ReadToEnd();
    }
    #endregion
    #region 一個用hash實現的加密解密方法
    /// summary>
    /// 加密
    /// /summary>
    /// param name="src">/param>
    /// returns>/returns>
    public static string EncryptStrByHash(string src)
    {
      if (src.Length == 0)
      {
        return "";
      }
      byte[] HaKey = System.Text.Encoding.ASCII.GetBytes((src + "Test").ToCharArray());
      byte[] HaData = new byte[20];
      HMACSHA1 Hmac = new HMACSHA1(HaKey);
      CryptoStream cs = new CryptoStream(Stream.Null, Hmac, CryptoStreamMode.Write);
      try
      {
        cs.Write(HaData, 0, HaData.Length);
      }
      finally
      {
        cs.Close();
      }
      string HaResult = System.Convert.ToBase64String(Hmac.Hash).Substring(0, 16);
      byte[] RiKey = System.Text.Encoding.ASCII.GetBytes(HaResult.ToCharArray());
      byte[] RiDataBuf = System.Text.Encoding.ASCII.GetBytes(src.ToCharArray());
      byte[] EncodedBytes =  { };
      MemoryStream ms = new MemoryStream();
      RijndaelManaged rv = new RijndaelManaged();
      cs = new CryptoStream(ms, rv.CreateEncryptor(RiKey, RiKey), CryptoStreamMode.Write);
      try
      {
        cs.Write(RiDataBuf, 0, RiDataBuf.Length);
        cs.FlushFinalBlock();
        EncodedBytes = ms.ToArray();
      }
      finally
      {
        ms.Close();
        cs.Close();
      }
      return HaResult + System.Convert.ToBase64String(EncodedBytes);
    }
    /// summary>
    /// 解密
    /// /summary>
    /// param name="src">/param>
    /// returns>/returns>
    public static string DecrypStrByHash(string src)
    {
      if (src.Length  40) return "";
      byte[] SrcBytes = System.Convert.FromBase64String(src.Substring(16));
      byte[] RiKey = System.Text.Encoding.ASCII.GetBytes(src.Substring(0, 16).ToCharArray());
      byte[] InitialText = new byte[SrcBytes.Length];
      RijndaelManaged rv = new RijndaelManaged();
      MemoryStream ms = new MemoryStream(SrcBytes);
      CryptoStream cs = new CryptoStream(ms, rv.CreateDecryptor(RiKey, RiKey), CryptoStreamMode.Read);
      try
      {
        cs.Read(InitialText, 0, InitialText.Length);
      }
      finally
      {
        ms.Close();
        cs.Close();
      }
      System.Text.StringBuilder Result = new System.Text.StringBuilder();
      for (int i = 0; i  InitialText.Length; ++i) if (InitialText[i] > 0) Result.Append((char)InitialText[i]);
      return Result.ToString();
    }
    /// summary>
    /// 對加密后的密文重新編碼,如果密文長>16,則去掉前16個字符,如果長度小于16,返回空字符串
    /// /summary>
    /// param name="s">/param>
    /// returns>/returns>
    public string ReEncryptStrByHash(string s)
    {
      string e = Encrypt.EncryptStrByHash(s);
      return ((e.Length > 16) ? e.Substring(16) : "");
    }
    #endregion
    #region Md5加密,生成16位或32位,生成的密文都是大寫
    public static string Md5To16(string str)
    {
      MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
      string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)), 4, 8);
      t2 = t2.Replace("-", "");
      return t2;
    }
    //// summary>
    /// MD5 32位加密
    /// /summary>
    /// param name="str">/param>
    /// returns>/returns>
    public static string Md5To32(string str)
    {
      string pwd = "";
      MD5 md5 = MD5.Create();
      byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
      for (int i = 0; i  s.Length; i++)
      {
        pwd = pwd + s[i].ToString("X");
      }
      return pwd;
    }
    #endregion
    #region 3DES加密解密
    public string Encrypt3DES(string str)
    {
      //密鑰
      string sKey = "wyw308";
      //  //矢量,可為空
      string sIV = "scf521";
      //  //構造對稱算法
      SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;
      mCSP.Key = Convert.FromBase64String(sKey);
      mCSP.IV = Convert.FromBase64String(sIV);
      mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
      mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
      ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
      byt = Encoding.UTF8.GetBytes(str);
      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();
      cs.Close();
      return Convert.ToBase64String(ms.ToArray());
    }
    /// summary>
    /// 帶指定密鑰和矢量的3DES加密
    /// /summary>
    /// param name="str">/param>
    /// param name="sKey">/param>
    /// param name="sIV">/param>
    /// returns>/returns>
    public string Encrypt3DES(string str, string sKey, string sIV)
    {
      SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;
      mCSP.Key = Convert.FromBase64String(sKey);
      mCSP.IV = Convert.FromBase64String(sIV);
      mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
      mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
      ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
      byt = Encoding.UTF8.GetBytes(str);
      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();
      cs.Close();
      return Convert.ToBase64String(ms.ToArray());
    }
    //解密
    public string Decrypt3DES(string Value)
    {
      string sKey = "wyw308";
      string sIV = "scf521";
      SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;
      mCSP.Key = Convert.FromBase64String(sKey);
      mCSP.IV = Convert.FromBase64String(sIV);
      mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
      mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
      ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
      byt = Convert.FromBase64String(Value);
      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();
      cs.Close();
      return Encoding.UTF8.GetString(ms.ToArray());
    }
    /// summary>
    /// 帶指定密鑰和矢量的3DES解密
    /// /summary>
    /// param name="Value">/param>
    /// param name="sKey">/param>
    /// param name="sIV">/param>
    /// returns>/returns>
    public string Decrypt3DES(string str, string sKey, string sIV)
    {
      SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;
      mCSP.Key = Convert.FromBase64String(sKey);
      mCSP.IV = Convert.FromBase64String(sIV);
      mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
      mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
      ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
      byt = Convert.FromBase64String(str);
      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();
      cs.Close();
      return Encoding.UTF8.GetString(ms.ToArray());
    }
    #endregion
    #region 一個簡單的加密解密方法,只支持英文
    public static string EnCryptEnStr(string str) //倒序加1加密
    {
      byte[] by = new byte[str.Length];
      for (int i = 0;
       i = str.Length - 1;
       i++)
      {
        by[i] = (byte)((byte)str[i] + 1);
      }
      str = "";
      for (int i = by.Length - 1;
       i >= 0;
       i--)
      {
        str += ((char)by[i]).ToString();
      }
      return str;
    }
    public static string DeCryptEnStr(string str) //順序減1解碼
    {
      byte[] by = new byte[str.Length];
      for (int i = 0;
       i = str.Length - 1;
       i++)
      {
        by[i] = (byte)((byte)str[i] - 1);
      }
      str = "";
      for (int i = by.Length - 1;
       i >= 0;
       i--)
      {
        str += ((char)by[i]).ToString();
      }
      return str;
    }
    #endregion
    #region 一個簡單的加密解密方法,在上一個的基礎上支持中文
    public static string EnCryptCnStr(string str)
    {
      string htext = ""; // blank text
      for (int i = 0; i  str.Length; i++)
      {
        htext = htext + (char)(str[i] + 10 - 1 * 2);
      }
      return htext;
    }
    public static string DeCryptCnStr(string str)
    {
      string dtext = "";
      for (int i = 0; i  str.Length; i++)
      {
        dtext = dtext + (char)(str[i] - 10 + 1 * 2);
      }
      return dtext;
    }
    #endregion
    #region Url地址編碼解碼
    /// summary>
    /// 編碼Url地址
    /// /summary>
    /// param name="url">/param>
    /// returns>/returns>
    public static string UrlEncode(string url)
    {
      byte[] mByte = null;
      mByte = System.Text.Encoding.GetEncoding("GB2312").GetBytes(url);
      return System.Web.HttpUtility.UrlEncode(mByte);
    }
    /// summary>
    /// 解碼Url地址
    /// /summary>
    /// param name="url">/param>
    /// returns>/returns>
    public static string UrlDecode(string url)
    {
      return HttpUtility.UrlDecode(url, System.Text.Encoding.GetEncoding("GB2312"));
    }
    #endregion

以上所述就是本文的全部內容了,希望大家能夠喜歡。

您可能感興趣的文章:
  • ASP.NET MVC結合JavaScript登錄、校驗和加密
  • asp.net的加密解密技巧
  • 在asp.net中使用加密數據庫聯接字符串保證數據安全
  • asp.net實現md5加密
  • 在ASP.Net中實現RSA加密的方法
  • 解析Asp.net,C# 純數字加密解密字符串的應用
  • Asp.net,C# 加密解密字符串的使用詳解
  • ASP.NET加密口令的方法實例
  • asp.net中使用cookie與md5加密實現記住密碼功能的實現代碼
  • Asp.net中Microsoft.Identity的IPasswordHasher加密的默認實現與運用

標簽:吉林 廣元 樂山 賀州 淮北 固原 咸寧 池州

巨人網絡通訊聲明:本文標題《ASP.NET加密解密算法分享》,本文關鍵詞  ASP.NET,加密解密,算法,分享,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET加密解密算法分享》相關的同類信息!
  • 本頁收集關于ASP.NET加密解密算法分享的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    激情综合五月婷婷| 国产亚洲欧美日韩日本| 国产成人午夜精品5599| 韩国精品久久久| 极品美女销魂一区二区三区| 九九国产精品视频| 加勒比av一区二区| 国产高清久久久| 成人影视亚洲图片在线| 丁香亚洲综合激情啪啪综合| 成人97人人超碰人人99| 91免费看视频| 欧美日本在线播放| 日韩一级视频免费观看在线| 欧美电视剧在线看免费| 国产亚洲欧美日韩日本| 亚洲欧洲三级电影| 亚洲午夜久久久久久久久电影网 | 亚洲综合在线免费观看| 亚洲国产精品视频| 精品一区二区三区在线播放视频| 国产电影一区在线| 99精品热视频| 欧美疯狂性受xxxxx喷水图片| 日韩午夜激情免费电影| 欧美激情一区二区三区| 亚洲激情图片一区| 美女在线一区二区| 不卡一区在线观看| 91精品久久久久久久久99蜜臂| 久久综合狠狠综合久久综合88| 1000部国产精品成人观看| 天堂成人国产精品一区| 国产大陆精品国产| 欧美日韩视频不卡| 欧美国产综合一区二区| 日韩国产欧美在线视频| 99久久精品国产毛片| 欧美一区二区三区日韩| 国产欧美一区二区精品性| 亚洲国产成人porn| av亚洲产国偷v产偷v自拍| 欧美日韩国产片| 国产精品麻豆欧美日韩ww| 日韩精品成人一区二区三区 | 99re视频精品| 日韩免费一区二区| 亚洲综合激情小说| 懂色av一区二区夜夜嗨| 日韩视频一区二区在线观看| 亚洲欧美偷拍卡通变态| 国产一区二区三区免费播放| 欧美高清www午色夜在线视频| 中文字幕高清不卡| 久草精品在线观看| 91精品国产福利| 伊人夜夜躁av伊人久久| 不卡的av在线| 国产亚洲欧美日韩日本| 免费视频最近日韩| 欧美日韩国产一级| 亚洲成精国产精品女| 91视频国产资源| 国产精品美女久久久久久久| 国产美女视频一区| 精品国产一区二区在线观看| 日韩经典一区二区| 欧美欧美欧美欧美| 视频在线在亚洲| 欧美片在线播放| 丝袜a∨在线一区二区三区不卡| 欧美色综合网站| 一区二区三区在线视频播放| 一本大道久久a久久综合婷婷| 亚洲日本va午夜在线影院| 成人午夜在线播放| 亚洲男人的天堂一区二区| 色婷婷狠狠综合| 亚洲在线观看免费视频| 欧美色综合网站| 婷婷国产在线综合| 日韩欧美中文字幕一区| 极品尤物av久久免费看| 久久精品一区二区三区不卡| 国产成人精品综合在线观看| 国产精品乱人伦中文| 一本一道波多野结衣一区二区| 亚洲三级视频在线观看| 欧美无乱码久久久免费午夜一区| 亚洲第一电影网| 8x8x8国产精品| 精品一区二区在线观看| 亚洲国产岛国毛片在线| 欧美在线视频全部完| 日韩国产在线一| 欧美一区二区视频在线观看 | 福利91精品一区二区三区| 国产精品麻豆99久久久久久| 欧美在线视频不卡| 激情亚洲综合在线| 国产精品福利av| 欧美一区二区三区喷汁尤物| 国产伦精品一区二区三区免费迷| 亚洲乱码国产乱码精品精的特点 | 精品一区二区三区的国产在线播放 | 国产精品乱码一区二区三区软件| 99热99精品| 琪琪久久久久日韩精品| 国产精品女人毛片| 欧美一卡二卡在线观看| 99久久伊人网影院| 欧美aaa在线| 国产精品传媒视频| 欧美xxxxxxxx| 在线一区二区观看| 国产麻豆日韩欧美久久| 亚洲大片精品永久免费| 中文字幕精品一区二区精品绿巨人 | 国产香蕉久久精品综合网| 精品日韩在线观看| 91免费视频大全| 国产成人在线观看免费网站| 日日夜夜精品视频天天综合网| 国产日韩欧美在线一区| 91精品在线一区二区| 一本在线高清不卡dvd| 国产**成人网毛片九色 | www国产成人免费观看视频 深夜成人网 | 精品国内二区三区| 欧美日韩一级二级| 日本精品裸体写真集在线观看 | 亚洲综合色自拍一区| 国产精品美女久久久久久久网站| 日韩一区二区免费视频| 欧美日韩视频在线第一区 | 精品国产91乱码一区二区三区 | av亚洲精华国产精华精华| 国产一区二区三区免费播放| 裸体在线国模精品偷拍| 日本网站在线观看一区二区三区| 亚洲激情五月婷婷| 亚洲精品中文字幕在线观看| 国产精品久久久久7777按摩| 国产欧美日韩精品a在线观看| 精品久久国产字幕高潮| 精品久久国产字幕高潮| 日韩欧美二区三区| 日韩免费看的电影| 精品福利视频一区二区三区| 欧美成人在线直播| 久久噜噜亚洲综合| 亚洲午夜免费电影| 亚洲精品国产一区二区三区四区在线 | 久久精品二区亚洲w码| 日本不卡的三区四区五区| 蜜桃精品在线观看| 蜜桃精品视频在线观看| 国产精品99久久不卡二区| 国产成人在线电影| 99视频热这里只有精品免费| 91免费小视频| 欧美日产在线观看| 日韩女优视频免费观看| 国产丝袜美腿一区二区三区| 国产精品乱人伦中文| 亚洲国产美国国产综合一区二区| 性做久久久久久| 国产一区高清在线| 97成人超碰视| 欧美喷水一区二区| 国产亚洲欧美一级| 亚洲午夜精品网| 国产一区二区三区四| 日本乱人伦一区| 欧美电影免费观看高清完整版在| 久久精品夜色噜噜亚洲a∨| 国产精品婷婷午夜在线观看| 一区二区在线免费观看| 男女激情视频一区| 99re66热这里只有精品3直播 | 国产午夜久久久久| 亚洲黄色尤物视频| 久久99精品国产麻豆婷婷 | 秋霞国产午夜精品免费视频| 国产成人午夜片在线观看高清观看 | 国产在线麻豆精品观看| 一本久久a久久免费精品不卡| 欧美一卡2卡3卡4卡| 综合欧美亚洲日本| 久久精品国产亚洲高清剧情介绍 | 日本一二三四高清不卡| 一区二区三区不卡视频在线观看| 久久国产免费看| 欧美日韩亚洲综合一区| 日本一区二区三区视频视频| 日韩中文字幕不卡| 一本到高清视频免费精品| 国产日韩欧美激情| 六月丁香婷婷色狠狠久久| 日本久久一区二区三区|