Шифрования DES, как подлючить кириллицу? - C#
Формулировка задачи:
Всем привет! Друзья вот код программы : При расшифровании кирилицы т.е русс. буквы не правильно выдает начальную данные,
как подключить кириллицы(или юникод) для правильного шифрование.
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.IO; using System.Security.Cryptography; namespace DESCryptoSystem { public partial class DESForm : Form { public DESForm() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { txtPathFile.Text = openFileDialog1.FileName; } } private void button2_Click(object sender, EventArgs e) { if (saveFileEncrypt.ShowDialog() == DialogResult.OK) { if (saveFileKey.ShowDialog() == DialogResult.OK) { FileStream fs = File.Create(saveFileEncrypt.FileName); DESCryptoServiceProvider dsp = new DESCryptoServiceProvider(); CryptoStream cs = new CryptoStream(fs, dsp.CreateEncryptor(), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cs); StreamReader sr = new StreamReader(txtPathFile.Text); string line = sr.ReadLine(); while (line != null) { sw.WriteLine(line); line = sr.ReadLine(); } sr.Close(); sw.Flush(); sw.Close(); FileStream keyFs = File.Create(saveFileKey.FileName); BinaryWriter bw = new BinaryWriter(keyFs); bw.Write(dsp.Key); bw.Write(dsp.IV); bw.Flush(); bw.Close(); } } } private void button3_Click(object sender, EventArgs e) { if (openKeyFileDialog2.ShowDialog() == DialogResult.OK) { if (saveDecryptFileDialog1.ShowDialog() == DialogResult.OK) { FileStream keyFs = File.OpenRead(openKeyFileDialog2.FileName); FileStream fsOut = File.Create(saveDecryptFileDialog1.FileName); FileStream fsIn = File.OpenRead(txtPathFile.Text); DESCryptoServiceProvider dsp = new DESCryptoServiceProvider(); BinaryReader br = new BinaryReader(keyFs); dsp.Key = br.ReadBytes(8); dsp.IV = br.ReadBytes(8); CryptoStream cs = new CryptoStream(fsIn, dsp.CreateDecryptor(), CryptoStreamMode.Read); StreamWriter sw = new StreamWriter(fsOut); StreamReader sr = new StreamReader(cs); sw.Write(sr.ReadToEnd()); sr.Close(); sw.Flush(); sw.Close(); fsOut.Close(); fsIn.Close(); keyFs.Close(); } } } } }
Решение задачи: «Шифрования DES, как подлючить кириллицу?»
textual
Листинг программы
StreamWriter sw = new StreamWriter(cs, Encoding.UTF8);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д