使用C#怎么實現(xiàn)一個3DES加密解密功能-創(chuàng)新互聯(lián)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)使用C#怎么實現(xiàn)一個3DES加密解密功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司從2013年成立,先為西秀等服務(wù)建站,西秀等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為西秀企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

具體如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.IO;
namespace _3DES
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void CrypeBtn_Click(object sender, EventArgs e)
    {
      //實例化三倍DES服務(wù)提供者類
      TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
      //隨機生成密鑰和IV向量
      TDES.GenerateIV();
      TDES.GenerateKey();
      //執(zhí)行加密
      byte[] EncrypeByte = EncrypText(StrBox.Text, TDES.Key, TDES.IV);
      //顯示密文和密鑰
      KeyBox.Text = Encoding.ASCII.GetString(TDES.Key);
      IVBox.Text = Encoding.ASCII.GetString(TDES.IV);
      CrypeBox.Text = Encoding.UTF8.GetString(EncrypeByte);
      //執(zhí)行解密
      Str2Box.Text = DecrypText(EncrypeByte, TDES.Key, TDES.IV);
    }
    #region 加密
    /// <summary>
    /// 執(zhí)行三倍DES加密的方法
    /// </summary>
    /// <param name="Str">明文字符串</param>
    /// <param name="Key">密鑰</param>
    /// <param name="IV">IV向量</param>
    /// <returns>密文的字節(jié)序列</returns>
    private byte[] EncrypText(string Str, byte[] Key, byte[] IV)
    {
      //創(chuàng)建一個內(nèi)存流,用于存放密文
      MemoryStream MS = new MemoryStream();
      //創(chuàng)建一個三倍DES服務(wù)提供者對象
      TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
      //創(chuàng)建一個加密流,用于加密操作
      CryptoStream CS = new CryptoStream(MS,
        TDES.CreateEncryptor(Key, IV),
        CryptoStreamMode.Write);
      //定義輸入,執(zhí)行加密操作
      CS.Write(Encoding.UTF8.GetBytes(Str), 0, Str.Length);
      CS.FlushFinalBlock();
      //返回將密文的內(nèi)存流轉(zhuǎn)換為字節(jié)序列并返回
      return MS.ToArray();
    }
    #endregion
    #region 解密
    /// <summary>
    /// 執(zhí)行三倍DES解密的方法
    /// </summary>
    /// <param name="CrypeText">密文的字節(jié)序列</param>
    /// <param name="Key">密鑰</param>
    /// <param name="IV">IV向量</param>
    /// <returns>明文的字符串</returns>
    private string DecrypText(byte[] CrypeText, byte[] Key, byte[] IV)
    {
      //創(chuàng)建一個內(nèi)存流,用于存放密文
      MemoryStream MS = new MemoryStream(CrypeText);
      //創(chuàng)建一個三倍DES服務(wù)提供者對象
      TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
      //創(chuàng)建解密流
      CryptoStream CS = new CryptoStream(MS,
        TDES.CreateDecryptor(Key, IV),
        CryptoStreamMode.Read);
      //創(chuàng)建一個用于存放明文的容器(字節(jié)序列)
      byte[] DecrypeBytes = new byte[CrypeText.Length];
      //執(zhí)行解密
      CS.Read(DecrypeBytes, 0, CrypeText.Length);
      //返回解密后的明文字符串
      return Encoding.UTF8.GetString(DecrypeBytes);
    }
    #endregion
  }
}

運行效果:

使用C#怎么實現(xiàn)一個3DES加密解密功能

上述就是小編為大家分享的使用C#怎么實現(xiàn)一個3DES加密解密功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:使用C#怎么實現(xiàn)一個3DES加密解密功能-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://muchs.cn/article44/cdiche.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、微信小程序、用戶體驗品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司