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\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.