MD5 암호화는 다음과 같습니다.
시스템 사용;
시스템 사용. Sets. 일반;
시스템 사용. 구성 요소 모델 사용;
시스템. Data;
시스템. Drawing 사용;
시스템. linq 사용
시스템. Text 사용;
시스템. Forms 사용
시스템. Security. Cryptography;
네임스페이스 데이터 암호화 및 암호 해독
{
공개 서브 클래스 frmMD5 : Form
{
공개 frmMD5()
{
initialize component();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1. Text == " ")
{MessageBox. Show("암호화된 데이터를 입력하세요"); return; }
MD 5 cryptoserviceprovider M5 = new MD 5 cryptoserviceprovider();
TextBox2. Text = ASCIIEncoding. GetString(M5. ComputeHash(ASCIIEncoding. ASCII. GetBytes(textBox1. Text));
}
/MD5는 불가능한 알고리즘입니다. 무차별 암호 대입만이 해독할 수 있습니다.
private void button2_Click(object sender, EventArgs e)
{
MD 5 cryptoserviceprovider M5 = new MD 5 cryptoserviceprovider();
///this. TextBox3.Text=M5.
}
}
}
RSA 암호화는 다음과 같습니다.
시스템 사용;
시스템 사용. 컬렉션. Generic;
시스템 사용. 구성 요소 모델 사용;
시스템. Data;
시스템. Drawing 사용;
시스템. linq 사용
시스템. Text 사용;
시스템. Forms 사용
시스템. Security. Cryptography 사용;
네임스페이스 데이터 암호화 및 암호 해독
{
공개 하위 클래스 frmRSA:Forms
{
공개 frmRSA()
{
initialise component();
This. text = "" RSA 암호화 및 복호화";
tb _Encrypt. ReadOnly = true
tb _Decrypt. ReadOnly = true
}
private void button1_Click(object sender, EventArgs e)
{
//기본 키를 사용하여 RSACryptoServiceProvider 객체를 생성합니다.
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
//공개/개인 키 쌍이 포함된 XML 표현을 표시합니다. 공개 키만 표시하려면 매개변수를 false로 변경하면 됩니다.
rtb_Keys. text = rsa. toXmlString(true);
//암호화된 문자열을 바이트 배열로 변환합니다.
byte[] dataToEncrypt = encrypt. UTF8.GetBytes(tb_Input. Text);
Try
{
///암호화된 바이트 배열을 가져옵니다
byte[] encryptedData = rsa.Encrypt (dataToEncrypt, false);
tb_Encrypt. text=encrypt. utf8 . GetString(encrypted data);
p>해독된 바이트 배열을 가져옵니다
byte[] decryptedData = rsa. Decrypt(encryptedData, false);
tb _Decrypt. Text = encrypted. utf8 . GetString(decrypted data);
}
catch(exception error)
{
MessageBox. display(error. Message);
}
}
}
}
}
}