校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Asp.net,C# 加密解密字符串的使用詳解

Asp.net,C# 加密解密字符串的使用詳解

熱門標簽:凱立德導航官網地圖標注 萊蕪外呼電銷機器人價格 五常地圖標注 智能電話營銷外呼系統 鄭州400電話辦理 聯通 戶外地圖標注軟件手機哪個好用 地圖標注和認領 長春呼叫中心外呼系統哪家好 電銷語音自動機器人

首先在web.config | app.config 文件下增加如下代碼:

復制代碼 代碼如下:

?xml version="1.0"?>
  configuration>
    appSettings>
      add key="IV" value="SuFjcEmp/TE="/>
      add key="Key" value="KIPSToILGp6fl+3gXJvMsN4IajizYBBT"/>
    /appSettings>
  /configuration>

IV:加密算法的初始向量。

Key:加密算法的密鑰。

接著新建類CryptoHelper,作為加密幫助類。

首先要從配置文件中得到IV 和Key。所以基本代碼如下

復制代碼 代碼如下:

public class CryptoHelper
        {
            //private readonly string IV = "SuFjcEmp/TE=";
            private readonly string IV = string.Empty;
            //private readonly string Key = "KIPSToILGp6fl+3gXJvMsN4IajizYBBT";
            private readonly string Key = string.Empty;

            /// summary>
            ///構造函數
            /// /summary>
            public CryptoHelper()
            {
                IV = ConfigurationManager.AppSettings["IV"];
                Key = ConfigurationManager.AppSettings["Key"];
            }
        }


注意添加System.Configuration.dll程序集引用。
在獲得了IV 和Key 之后,需要獲取提供加密服務的Service 類。

在這里,使用的是System.Security.Cryptography; 命名空間下的TripleDESCryptoServiceProvider類。

獲取TripleDESCryptoServiceProvider 的方法如下:

復制代碼 代碼如下:

/// summary>
        /// 獲取加密服務類
        /// /summary>
        /// returns>/returns>
        private TripleDESCryptoServiceProvider GetCryptoProvider()
        {
            TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider();

            provider.IV = Convert.FromBase64String(IV);
            provider.Key = Convert.FromBase64String(Key);

            return provider;
        }


TripleDESCryptoServiceProvider 兩個有用的方法

CreateEncryptor:創建對稱加密器對象ICryptoTransform.

CreateDecryptor:創建對稱解密器對象ICryptoTransform

加密器對象和解密器對象可以被CryptoStream對象使用。來對流進行加密和解密。

cryptoStream 的構造函數如下:

public CryptoStream(Stream stream, ICryptoTransform transform, CryptoStreamMode mode);

使用transform 對象對stream 進行轉換。

完整的加密字符串代碼如下:

復制代碼 代碼如下:

/// summary>
        /// 獲取加密后的字符串
        /// /summary>
        /// param name="inputValue">輸入值./param>
        /// returns>/returns>
        public string GetEncryptedValue(string inputValue)
        {
            TripleDESCryptoServiceProvider provider = this.GetCryptoProvider();

            // 創建內存流來保存加密后的流
            MemoryStream mStream = new MemoryStream();

            // 創建加密轉換流
            CryptoStream cStream = new CryptoStream(mStream,
            provider.CreateEncryptor(), CryptoStreamMode.Write);

            // 使用UTF8編碼獲取輸入字符串的字節。
            byte[] toEncrypt = new UTF8Encoding().GetBytes(inputValue);

            // 將字節寫到轉換流里面去。
            cStream.Write(toEncrypt, 0, toEncrypt.Length);
            cStream.FlushFinalBlock();

            // 在調用轉換流的FlushFinalBlock方法后,內部就會進行轉換了,此時mStream就是加密后的流了。
            byte[] ret = mStream.ToArray();

            // Close the streams.
            cStream.Close();
            mStream.Close();

            //將加密后的字節進行64編碼。
            return Convert.ToBase64String(ret);
        }


解密方法也類似:
復制代碼 代碼如下:

/// summary>
        /// 獲取解密后的值
        /// /summary>
        /// param name="inputValue">經過加密后的字符串./param>
        /// returns>/returns>
        public string GetDecryptedValue(string inputValue)
        {
            TripleDESCryptoServiceProvider provider = this.GetCryptoProvider();

            byte[] inputEquivalent = Convert.FromBase64String(inputValue);

            // 創建內存流保存解密后的數據
            MemoryStream msDecrypt = new MemoryStream();

            // 創建轉換流。
            CryptoStream csDecrypt = new CryptoStream(msDecrypt,
                                                        provider.CreateDecryptor(),
                                                        CryptoStreamMode.Write);

            csDecrypt.Write(inputEquivalent, 0, inputEquivalent.Length);

            csDecrypt.FlushFinalBlock();
            csDecrypt.Close();

            //獲取字符串。
            return new UTF8Encoding().GetString(msDecrypt.ToArray());
        }


完整的CryptoHelper代碼如下:
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
using System.Configuration;

namespace WindowsFormsApplication1
{
    public class CryptoHelper
    {
        //private readonly string IV = "SuFjcEmp/TE=";
        private readonly string IV = string.Empty;
        //private readonly string Key = "KIPSToILGp6fl+3gXJvMsN4IajizYBBT";
        private readonly string Key = string.Empty;

        public CryptoHelper()
        {
            IV = ConfigurationManager.AppSettings["IV"];
            Key = ConfigurationManager.AppSettings["Key"];
        }

        /// summary>
        /// 獲取加密后的字符串
        /// /summary>
        /// param name="inputValue">輸入值./param>
        /// returns>/returns>
        public string GetEncryptedValue(string inputValue)
        {
            TripleDESCryptoServiceProvider provider = this.GetCryptoProvider();

            // 創建內存流來保存加密后的流
            MemoryStream mStream = new MemoryStream();

            // 創建加密轉換流
            CryptoStream cStream = new CryptoStream(mStream,

            provider.CreateEncryptor(), CryptoStreamMode.Write);
            // 使用UTF8編碼獲取輸入字符串的字節。
            byte[] toEncrypt = new UTF8Encoding().GetBytes(inputValue);

            // 將字節寫到轉換流里面去。
            cStream.Write(toEncrypt, 0, toEncrypt.Length);
            cStream.FlushFinalBlock();

            // 在調用轉換流的FlushFinalBlock方法后,內部就會進行轉換了,此時mStream就是加密后的流了。
            byte[] ret = mStream.ToArray();

            // Close the streams.
            cStream.Close();
            mStream.Close();

            //將加密后的字節進行64編碼。
            return Convert.ToBase64String(ret);
        }

        /// summary>
        /// 獲取加密服務類
        /// /summary>
        /// returns>/returns>
        private TripleDESCryptoServiceProvider GetCryptoProvider()
        {
            TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider();

            provider.IV = Convert.FromBase64String(IV);
            provider.Key = Convert.FromBase64String(Key);

            return provider;

        }

        /// summary>
        /// 獲取解密后的值
        /// /summary>
        /// param name="inputValue">經過加密后的字符串./param>
        /// returns>/returns>
        public string GetDecryptedValue(string inputValue)
        {
            TripleDESCryptoServiceProvider provider = this.GetCryptoProvider();
            byte[] inputEquivalent = Convert.FromBase64String(inputValue);

            // 創建內存流保存解密后的數據
            MemoryStream msDecrypt = new MemoryStream();

            // 創建轉換流。
            CryptoStream csDecrypt = new CryptoStream(msDecrypt,
            provider.CreateDecryptor(),
            CryptoStreamMode.Write);

            csDecrypt.Write(inputEquivalent, 0, inputEquivalent.Length);
            csDecrypt.FlushFinalBlock();

            csDecrypt.Close();

            //獲取字符串。
            return new UTF8Encoding().GetString(msDecrypt.ToArray());
        }
    }
}


使用例子:

您可能感興趣的文章:
  • asp.net web.config加密解密方法
  • asp.net 字符串加密解密技術
  • asp.net TripleDES加密、解密算法
  • asp.net的加密解密技巧
  • 基于.net4.0實現IdentityServer4客戶端JWT解密

標簽:西寧 湖州 宣城 衢州 岳陽 西藏 紅河 福州

巨人網絡通訊聲明:本文標題《Asp.net,C# 加密解密字符串的使用詳解》,本文關鍵詞  Asp.net,加密解密,字符串,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp.net,C# 加密解密字符串的使用詳解》相關的同類信息!
  • 本頁收集關于Asp.net,C# 加密解密字符串的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品国产乱码久久久久久免费 | 免播放器亚洲一区| 精品国产一区二区亚洲人成毛片 | 欧美mv日韩mv国产网站| 91最新地址在线播放| 免费观看30秒视频久久| 亚洲三级小视频| 欧美精品一区二区不卡| 欧美日韩在线免费视频| jizzjizzjizz欧美| 国产成人一区在线| 美女精品自拍一二三四| 亚洲二区在线观看| 日韩一区在线播放| 久久精品亚洲麻豆av一区二区 | 视频在线观看一区| 综合自拍亚洲综合图不卡区| 国产亚洲精品bt天堂精选| 欧美日韩国产在线观看| 成人妖精视频yjsp地址| 韩日精品视频一区| 日韩av电影免费观看高清完整版 | 亚洲午夜在线电影| 亚洲男人都懂的| 国产精品国产三级国产三级人妇| 精品入口麻豆88视频| 欧美精品粉嫩高潮一区二区| 欧美三片在线视频观看| 色婷婷国产精品综合在线观看| 成人av影院在线| 成人黄色软件下载| www.日韩av| 成人高清免费观看| 波多野结衣中文一区| 成人午夜精品一区二区三区| 国产毛片一区二区| 国产精品一区免费在线观看| 精品写真视频在线观看| 美国欧美日韩国产在线播放| 免费观看成人av| 精品影视av免费| 国产精选一区二区三区| 国产99精品在线观看| 成年人网站91| 99久久99精品久久久久久| 色婷婷综合久久久| 欧美中文字幕一区| 欧美男男青年gay1069videost| 欧美日韩在线三级| 7777女厕盗摄久久久| 日韩一级片网站| 久久精品人人做| 国产精品久久一级| 亚洲免费看黄网站| 午夜欧美视频在线观看| 日产国产高清一区二区三区| 久久精品99国产精品日本| 久久精品国产**网站演员| 97精品视频在线观看自产线路二| 欧美久久一区二区| 91啪在线观看| 99视频一区二区| 色婷婷精品久久二区二区蜜臂av | 成人永久aaa| 一本大道av一区二区在线播放| 欧美午夜宅男影院| 欧美一区二区私人影院日本| 久久精品人人做人人爽人人| 亚洲摸摸操操av| 日韩av一区二区在线影视| 国产精品自在欧美一区| 91美女在线视频| 欧美一区二区精品在线| 国产精品三级av在线播放| 亚洲一区日韩精品中文字幕| 捆绑调教一区二区三区| 北岛玲一区二区三区四区| 欧美人xxxx| 国产欧美精品一区二区色综合 | 国产专区综合网| av中文字幕不卡| 欧美高清www午色夜在线视频| 久久―日本道色综合久久| 国产精品久久久久四虎| 男男gaygay亚洲| 波多野洁衣一区| 日韩一级大片在线观看| 日韩理论在线观看| 蜜桃视频在线一区| 91香蕉视频在线| 欧美精品一区二区三区一线天视频| 亚洲日本护士毛茸茸| 捆绑变态av一区二区三区| 91女人视频在线观看| 精品国产凹凸成av人网站| 亚洲永久免费av| 成人av在线播放网站| 精品福利在线导航| 亚洲第一成年网| 色悠悠久久综合| 日本一区二区三区在线不卡 | 国产在线不卡一卡二卡三卡四卡| 欧美亚洲一区二区在线观看| 中文字幕不卡的av| 另类欧美日韩国产在线| 欧美在线观看18| 国产亚洲欧美日韩日本| 蜜臀av一区二区在线观看| 欧美主播一区二区三区美女| 亚洲国产成人私人影院tom| 久久成人麻豆午夜电影| 久久视频一区二区| 婷婷国产v国产偷v亚洲高清| 91免费观看视频| 国产精品网站导航| www国产精品av| 精品午夜久久福利影院| 91欧美一区二区| 国产欧美一区二区在线| 日本少妇一区二区| 欧美另类变人与禽xxxxx| 夜夜嗨av一区二区三区四季av| 成人激情动漫在线观看| 国产亚洲1区2区3区| 国产在线一区观看| 欧美成人vps| 久久综合综合久久综合| 日韩免费电影网站| 免费观看30秒视频久久| 日韩一区二区在线播放| 日韩vs国产vs欧美| 欧美一三区三区四区免费在线看| 香港成人在线视频| 欧美女孩性生活视频| 婷婷久久综合九色综合伊人色| 欧美日韩高清一区二区三区| 午夜成人免费电影| 欧美精品第1页| 欧美aaaaaa午夜精品| 日韩一区二区三区电影在线观看 | 99久久婷婷国产综合精品电影| 国产精品久久久久天堂| 99久久精品国产毛片| 一区二区三区精品| 欧美日韩国产精品自在自线| 午夜婷婷国产麻豆精品| 制服丝袜av成人在线看| 日韩国产精品久久久久久亚洲| 欧美一区二区免费视频| 精彩视频一区二区三区| 国产欧美精品区一区二区三区| 99热这里都是精品| 亚洲免费观看在线观看| 欧美日韩一级片网站| 久久精品免费观看| 国产日韩欧美高清在线| 色综合久久88色综合天天6| 亚洲成人午夜电影| 欧美r级在线观看| 成人动漫在线一区| 亚洲国产日韩综合久久精品| 欧美xxxx在线观看| 丁香六月综合激情| 亚洲综合偷拍欧美一区色| 日韩欧美一级片| 99精品欧美一区二区蜜桃免费| 亚洲大片一区二区三区| 久久毛片高清国产| 91官网在线免费观看| 久久精品国产99国产| 一区二区三区**美女毛片| 欧美精品久久天天躁| 国产精一区二区三区| 亚洲影院理伦片| 久久久久久久综合日本| 在线观看亚洲一区| 精品一区二区三区av| 亚洲日本丝袜连裤袜办公室| 欧美一区二区视频在线观看 | 亚洲国产成人va在线观看天堂| 欧美r级在线观看| 91在线你懂得| 国内精品自线一区二区三区视频| 国产精品福利一区| 日韩午夜激情免费电影| 国产+成+人+亚洲欧洲自线| 亚洲第一久久影院| 欧美国产成人精品| 欧美精品色综合| 99久久综合国产精品| 日韩vs国产vs欧美| 亚洲欧美国产三级| 久久网站热最新地址| 欧美人动与zoxxxx乱| 播五月开心婷婷综合| 国内精品嫩模私拍在线| 亚洲综合自拍偷拍| 国产精品私人影院| 日韩免费电影网站| 欧美日韩国产电影|