반응형
* 파일 MD5 체크섬 예제...
전체 소스 코드
Form1.cs
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 CSharp_CheckSumFile
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
//텍스트파일만 열기...
//ofd.Filter = "TXTFile(*.txt)|*.txt";
if(ofd.ShowDialog() == DialogResult.OK)
{
//파일 내용을 byte 배열로 얻어 오기...
byte[] btAscii = File.ReadAllBytes(ofd.FileName);
byte[] btHash = MD5.Create().ComputeHash(btAscii);
lblSourcePath.Text = ofd.FileName;
textBox1.Text = BitConverter.ToString(btHash).Replace("-", "").ToLower();
if (textBox2.Text != "")
{
if (textBox1.Text == textBox2.Text)
{
lbl.Text = "체크섬이 같습니다.";
}
else
{
lbl.Text = "체크섬이 다릅니다.";
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
//텍스트파일만 열기...
//ofd.Filter = "TXTFile(*.txt)|*.txt";
if (ofd.ShowDialog() == DialogResult.OK)
{
//파일 내용을 byte 배열로 얻어 오기...
byte[] btAscii = File.ReadAllBytes(ofd.FileName);
byte[] btHash = MD5.Create().ComputeHash(btAscii);
lblDestPath.Text = ofd.FileName;
textBox2.Text = BitConverter.ToString(btHash).Replace("-", "").ToLower();
if (textBox1.Text != "")
{
if (textBox1.Text == textBox2.Text)
{
lbl.Text = "체크섬이 같습니다.";
}
else
{
lbl.Text = "체크섬이 다릅니다.";
}
}
}
}
}
}
* 예제 결과
위 그림은 파일 안에 내용이 같았을 경우 만약 다르다면...
위 그림과 같이 체크섬이 다르게 표시 됩니다.
반응형
'C# Programming' 카테고리의 다른 글
[C#] 동적 DLL 폼 (From) 불러오기 또는 클래스 (Class) 함수 불러오기 예제 (0) | 2019.10.21 |
---|---|
[C#] Folder Copy 폴더 복사 예제 (0) | 2019.10.18 |
[C#] Log File - 로그 작성 예제 (0) | 2019.10.14 |
[C#] 파일 및 폴더 감시 (FileSystemWatcher) (0) | 2019.10.10 |
[C#] File Copy (파일 복사 예제) (0) | 2019.10.08 |