好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 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# 加密解密字符串的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 亚洲特级aaaaaa毛片| 农村偷窥性事小说全集| 大尺度做爰呻吟小说疯狂进出| 久久精品桃花综合| 久久成人无码国产免费播放| jizzxxxx中国| 特黄特色一级A片| 99精品国产99久久久久| 色狐狸AV在线观看| 亚洲美女偷拍| 优优大胆大尺度人体写真棚拍| 女明星婬奴生活1~8| 性福生日| 污视频日本| 国产欧美久久久久久精品四区借种| 欧美zozo人与禽交| 国产aⅴ一区二区| 欧美级婬片A片免费播放口r人牛| 莉莉私人影院入口处午夜| 野花的视频在线观看免费高清3| 精品一级A片一区二区免费视频| 他扶着粗大挤进我的下面动态图| 欧美猛色少妇XXXXXk黄| 真实摄像头偷拍在线观看| 伊人伊人网| 人人狠狠| 国产精品亚洲AV三区明星艳照| 高能多r纯车mp3| 男女在床啪啪高清免费| 被H系统改造成校花被H| 国产乱子伦小说长篇小说| 久久大香伊蕉在人线观看热2| 羞羞午夜爽爽爽爱爱爱爱| 性色爽爱性色爽爱网站| 我的极品美女老婆| 国内精品久久久久影院欧美| 无码熟妇Av又粗又大社区视频| 被强小说录目伦| 日韩免费成人| 日本人妻の电车痴汉Av| 国产一级e一级e毛片视频|