C\#간단 한 3DES 암호 화 복호화 기능 예제 실현

4569 단어 C#DES암호 화
본 논문 의 사례 는 C\#간단 한 3DES 암호 화 복호화 기능 을 실현 하 는 것 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.

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      
      TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
      //       IV  
      TDES.GenerateIV();
      TDES.GenerateKey();
      //    
      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);
      //    
      Str2Box.Text = DecrypText(EncrypeByte, TDES.Key, TDES.IV);
    }
    #region   
    /// <summary>
    ///     DES     
    /// </summary>
    /// <param name="Str">     </param>
    /// <param name="Key">  </param>
    /// <param name="IV">IV  </param>
    /// <returns>       </returns>
    private byte[] EncrypText(string Str, byte[] Key, byte[] IV)
    {
      //       ,      
      MemoryStream MS = new MemoryStream();
      //      DES       
      TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
      //       ,      
      CryptoStream CS = new CryptoStream(MS,
        TDES.CreateEncryptor(Key, IV),
        CryptoStreamMode.Write);
      //    ,      
      CS.Write(Encoding.UTF8.GetBytes(Str), 0, Str.Length);
      CS.FlushFinalBlock();
      //                   
      return MS.ToArray();
    }
    #endregion
    #region   
    /// <summary>
    ///     DES     
    /// </summary>
    /// <param name="CrypeText">       </param>
    /// <param name="Key">  </param>
    /// <param name="IV">IV  </param>
    /// <returns>      </returns>
    private string DecrypText(byte[] CrypeText, byte[] Key, byte[] IV)
    {
      //       ,      
      MemoryStream MS = new MemoryStream(CrypeText);
      //      DES       
      TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
      //     
      CryptoStream CS = new CryptoStream(MS,
        TDES.CreateDecryptor(Key, IV),
        CryptoStreamMode.Read);
      //             (    )
      byte[] DecrypeBytes = new byte[CrypeText.Length];
      //    
      CS.Read(DecrypeBytes, 0, CrypeText.Length);
      //           
      return Encoding.UTF8.GetString(DecrypeBytes);
    }
    #endregion
  }
}

실행 효과:

PS:암호 화 복호화 에 관심 이 있 는 친 구 는 본 사이트 의 온라인 도 구 를 참고 할 수 있 습 니 다.
텍스트 온라인 암호 화 복호화 도구(AES,DES,RC4 등 포함):
http://tools.jb51.net/password/txt_encode
MD5 온라인 암호 화 도구:
http://tools.jb51.net/password/CreateMD5Password
온라인 해시/해시 알고리즘 암호 화 도구:
http://tools.jb51.net/password/hash_encrypt
온라인 MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 암호 화 도구:
http://tools.jb51.net/password/hash_md5_sha
온라인 sha 1/sha 224/sha 256/sha 384/sha 512 암호 화 도구:
http://tools.jb51.net/password/sha_encode
더 많은 C\#관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,,,,,,
본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기