Colección de citas famosas - Slogan de motivación - ¿Cómo cifrar datos? neto

¿Cómo cifrar datos? neto

/China/TechNet/security/guidance/sec mod 39. mspx (mejores datos teóricos)

Cree un programa en formato Win y luego copie el código en segundo plano para implementar el programa de cifrado asimétrico C#.

Utilizar el sistema;

Utilizar el sistema. Dibujo;

Usa el sistema. Colección;

Usa el sistema. Modelo de componentes;

Utilizar el sistema. Windows Forms

Usa el sistema. Datos;

Utilizar el sistema. Io;

Usa el sistema. Texto;

Usa el sistema. Seguridad. Criptografía;

Cifrado asimétrico del espacio de nombres

{

///& lt; Resumen& gt

///formulario Descripción resumida de 1 .

///</summary>

Clase pública Form1: System. window.form.form

{

Sistema privado. windows .forms control de pestañas control de pestañas 1;

Sistema privado. windows .forms .pestaña página 1;

Sistema privado. windows .forms .pestaña página 2;

Sistema privado. windows .forms botón botón 1;

Sistema privado. Windows .Forms.Botón botón2

Sistema privado. Windows .Forms.Botón botón3

Sistema privado. Guardar Windows.Forms.SaveFileDialog;

Sistema privado. windows .formularios etiqueta etiqueta 1;

Sistema privado. windows .formularios .cuadro de texto cuadro de texto 1;

Sistema privado. Windows .Forms.Botón4

Sistema privado. Windows .Forms.Botón botón5

Sistema privado. Windows .Forms.Label label2

Sistema privado. windows .forms . richtextbox richtext 2;

Sistema privado. Se abre Windows.Forms.OpenFileDialog;

Sistema privado. Windows.Forms.Label etiqueta 3;

Sistema privado. windows .forms .richtextbox richtext 3;

Sistema privado. windows .forms .richtextbox texto enriquecido;

Sistema privado. Windows .Forms.Botón botón6

Sistema privado. Windows .Forms.Botón7

Sistema privado. Windows . Forms.Botón botón8

///<summary>

///Variables de diseñador requeridas.

Cripta RSACryptoServiceProvider estática privada

Clave privada de cadena estática privada

Clave pública de cadena estática privada

Bytes estáticos privados[]bytes;

Cadena estática privada publicinfo

Cadena estática privada privateinfo

Cadena estática privada readpublickey

Cadena estática privada readprivatekey

// ///Bytes estáticos privados[]one bytes;

///& lt;/summary & gt;

Sistema privado. ComponentModel.Container componente = null

Public Form 1()

{

//

// Compatibilidad con Windows Forms Designer necesaria

//

initialize componente();

//

// TODO: agregue cualquier construcción después del código de función de llamada de InitializeComponent.

//

}

///<Summary>

///Limpiar todos los recursos en uso.

///</summary>

Superposición protegida void Dispose(bool disposing)

{

if (proceso)

{

if (componente! = nulo)

{

Componente. disponer();

}

}

Base. Dispose(dispose);

}

#regionCode generado por Windows Forms Designer

///<Summary>

/// El diseñador admite el método requerido; no utilice el editor de código para modificarlo.

///El contenido de este método.

///</summary>

Private void InitializeComponent()

{

this.tabControl1 = nuevo sistema. windows .forms .pestaña control();

this.tabPage1 =Nuevo sistema. windows .forms .pestaña página();

this.button6 =Nuevo sistema. windows.forms.boton();

this.button3 = Nuevo sistema. windows .forms .boton();

this.button2 = Nuevo sistema. windows.forms.boton();

this.richtext=Nuevo sistema. windows.forms.richtextbox();

this.button1 = Nuevo sistema. windows.forms.boton();

this.tabPage2 =Nuevo sistema. windows .forms .pestaña página();

this.button8 = Nuevo sistema. windows.forms.boton();

this.button7 = Nuevo sistema. windows .forms .boton();

this.label3 =Nuevo sistema.

windows.forms.etiqueta();

this.richtext3 = Nuevo sistema. windows.forms.richtextbox();

this.label2 = Nuevo sistema. windows.forms.etiqueta();

this.richtext2 = Nuevo sistema. windows.forms.richtextbox();

this.button5 = Nuevo sistema. windows .forms .boton();

this.button4 = Nuevo sistema. windows.forms.boton();

this.textBox1 =Nuevo sistema. windows.forms.textbox();

this.label1 =Nuevo sistema. windows.forms.etiqueta();

this.save = nuevo sistema. windows.forms. savefiledialog();

this.open = nuevo sistema. formularios de windows.openfile dialog();

this.tabControl1. suspender diseño();

this.tabPage1. suspender diseño();

esta página de pestaña 2 . suspender diseño();

Esto. suspender diseño();

//

// tabControl1

//

this.tabControl1. controles . Add(esta . pestaña página 1);

this.tabControl1. controles . Add(esta . pestaña página 2);

this.tabControl1. ubicación = nuevo sistema. Punto de dibujo (32, 64);

this.tabControl1. nombre = "control de pestaña 1";

this.tabControl1. SelectedIndex = 0;

this.tabControl1. tamaño = nuevo sistema. dibujo.tamaño(416,280);

this.tabControl1. TabIndex = 0;

//

// tabPage1

//

this.tabPage1. controles . Agregar(este . botón 6);

this.tabPage1. controles . Agregar(este . botón 3);

this.tabPage1. controles . Agregar(este . botón 2);

this.tabPage1. controles . Agregar(este texto enriquecido);

this.tabPage1. controles . Agregar(este . botón 1);

this.tabPage1. ubicación = nuevo sistema. dibujo.punto(4,21);

this.tabPage1. nombre = "pestaña página 1";

this.tabPage1. tamaño = nuevo sistema. dibujo. Tamaño(408, 255);

this.tabPage1.

TabIndex = 0;

Esta.tabPage1. Texto = "Obtener clave";

//

//Botón 6

//

this.button6.Location = Nuevo sistema. Drawing.point(72,168);

este botón 6 .

este botón 6. .button6.Text = "Escribir en archivo";

this.button6.Click +=Nuevo sistema. EventHandler(este . botón 6 _ Clic);

//

//Botón 3

//

este.botón3. Ubicación = nuevo sistema. dibujo.point(200,16);

este botón 3 . >This.button3.Text = "Guardar clave privada";

this.button3.Click +=Nuevo sistema. EventHandler(este . botón 3 _ Clic);

//

//Botón 2

//

este.botón2. Ubicación = nuevo sistema. dibujo.point(128,16);

este botón 2 . >This.button2.Text = "Guardar clave pública";

this.button2.Click +=Nuevo sistema. EventHandler(este . botón 2 _ Clic);

//

// richtext

//

this.richtext.Location =Nuevo sistema. plot.point(16, 56);

this.texto enriquecido.nombre = "texto enriquecido"

this.richtext.Size = nuevo sistema. dibujo. tamaño(256, 96);

este texto enriquecido. tabindex = 1;

este texto enriquecido = "cuadro de texto enriquecido 1"; //

// botón1

//

este.botón1. ubicación = nuevo sistema. Punto.de.dibujo(8,16);

este.botón1. nombre = " botón 1 ";

este.botón1. tamaño = nuevo sistema. dibujo. tamaño(88, 23);

este.botón1. TabIndex = 0;

Este.botón1. Text = "Obtener información clave";

this.button1. Haga clic en +=Nuevo sistema.

EventHandler(este . botón 1 _ Clic);

//

// tabPage2

//

esta página de pestaña 2. . controles . add(this . botón 8);

this . pestaña controles . add(this . botón 7);

this . (esta . etiqueta 3);

esta .página de pestaña 2 .add(este .texto enriquecido 3);

esta .página de pestaña 2 . etiqueta 2);

esta página de pestaña 2 . agregar(este . texto enriquecido 2);

esta página de pestaña 2 . ;

esta .página de pestaña 2 .add(este .botón 4);

esta .página de pestaña 2 . >

esta .página de pestaña 2 .add(this .etiqueta 1);

this.tabPage2.Location = nuevo sistema. plot.point(4, 21);

este .tab página 2 . = "pestaña página 2";

this.tabPage2.Size = nuevo sistema. dibujo. Tamaño (408, 255);

esta página de pestaña 2 . tabindex = 1;

This.tabPage2.Text = "Texto cifrado y descifrado"; >//

//Button8

//

this.button8.Location = Nuevo sistema. dibujo.point(216,72);

este botón 8 . >This.button8.Text = "Leer clave privada";

this.button8.Click +=Nuevo sistema. EventHandler(este . botón 8 _ Click);

//

//Botón 7

//

este.botón7. Ubicación = nuevo sistema. Punto de dibujo (56, 72);

este botón 7 . This.button7.Text = "Leer clave pública";

this.button7.Click +=Nuevo sistema. EventHandler(este . botón 7 _ Click);

//

//Etiqueta 3

//

this.label3. Ubicación = nuevo sistema.

plot.point(200, 120);

this.etiqueta 3. nombre = "etiqueta 3";

this.label3.Size = nuevo sistema. Drawing.size(100,16);

this .etiqueta 3 . tabindex = 7;

This.label3.Text = "Resultado del descifrado"; //

// richtext3

//

this.richtext3.Location = Nuevo sistema. plot.point(200, 144);

este .texto enriquecido 3 . nombre = " texto enriquecido 3 ";

este.richtext3.Size = nuevo sistema. dibujo.size(120,72);

este texto enriquecido 3 . tabindex = 6;

este texto enriquecido 3 . >

//

// label2

//

this.label2.Location = Nuevo sistema. dibujo.point(48,120);

this .etiqueta 2 . nombre = "etiqueta 2 ";

this.label2.Size = nuevo sistema. Drawing.size(128,16);

this .etiqueta 2 . tabindex = 5;

This.label2.Text = "Ventana de cifrado:"; >>/

// richtext2

//

this.richtext2.Location = Nuevo sistema. plotpoint(40,144);

this.richtext2.Size = nuevo sistema. dibujo.size(120,72);

este texto enriquecido 2 . tabindex = 4;

este texto enriquecido 2 . >

//

//Botón 5

//

this.button5.Location = Nuevo sistema. draw.point(200,96);

este botón 5 . nombre = " botón 5 ";

this.button5.Size = nuevo sistema. Drawing.size(112,23);

este botón 5 . tabindex = 3

This.button5.Text = "Descifrar con clave privada"; p>este.botón5.Haga clic en +=Nuevo sistema. EventHandler(este . botón 5 _ Clic);

//

//Botón 4

//

este.botón4. Ubicación = nuevo sistema. Plot Point(48, 96);

this.botón 4 .nombre = "botón 4";

this.button4.Size = nuevo sistema. dibujo.

Tamaño (96, 23);

este botón 4. tabindex = 2;

This.button4.Text = "Usar cifrado de clave pública"; this.button4.Haga clic en +=Nuevo sistema. EventHandler(este . botón 4 _ Clic);

//

// textBox1

//

this.textBox1. ubicación = nuevo sistema. dibujo.punto(104,32);

este.textBox1. Multilínea = verdadero

this.textBox1. nombre = " cuadro de texto 1 ";

this.textBox1. tamaño = nuevo sistema. Dibujo.tamaño(168,32);

este.textBox1. TabIndex = 1;

este.textBox1. texto = " cuadro de texto 1 ";

//

// etiqueta1

//

this.label1. ubicación = nuevo sistema. dibujo.punto(128,8);

esta.etiqueta1. nombre = " etiqueta 1 ";

this.label1. tamaño = nuevo sistema. Dibujo.tamaño(120,16);

esta.etiqueta1. TabIndex = 0;

Esta.etiqueta1. Text = "Por favor, introduzca texto cifrado";

//

// Form1

//

Esto. AutoScaleBaseSize = nuevo sistema. Tamaño del dibujo (6, 14);

Este. ClientSize = nuevo sistema. dibujo. Tamaño(504,357);

Esto. controles . Agregar(este . control de pestaña 1);

Esto. nombre = " formulario 1 ";

Este. text = " formulario 1 ";

this.tabControl1. ResumeLayout(false);

this.tabPage1. ResumeLayout(false);

esta página de pestaña 2. diseño del currículum (false);

Esto. ResumeLayout(false);

}

#End area

///<Summary>

///Aplicación La entrada principal punto del programa.

///</summary>

[hilo estático]

tubería principal vacía estática()

{

Aplicar. run(new form 1());

}

//Obtener información clave

Botón de anulación privada1_Click(Remitente del objeto, sistema. EventArgs e)

{

cripta = new RSACryptoServiceProvider();

Clave pública = cripta. ToXmlString(false);

RichtextText= "Si clave de exportación:\n "+clave pública+" \n";

claveprivada=cripta.

ToXmlString(true);

String info= "Solo al exportar la clave pública:\ n "+clave privada+" \ n ";

texto enriquecido. AppendText(info);

Cripta. clear();

}

//Guardar la información de la clave pública

Botón de anulación privada2_Click (remitente del objeto, sistema. EventArgs e)

{

guardar = new SaveFileDialog();

Guardar. Filter= "Texto del archivo(*.txt)|*.txt|Todos los archivos(*.*)|*.*";

Guardar. ShowDialog();

publicinfo = guardar. Nombre de archivo;

}

//Guardar información clave

Botón de anulación privada3_Click(Remitente del objeto, sistema. EventArgs e)

{

guardar = new SaveFileDialog();

Guardar. Filter= "Texto del archivo(*.txt)|*.txt|Todos los archivos(*.*)|*.*";

Guardar. ShowDialog();

información privada = guardar. Nombre del archivo;

}

//Escribe la información clave en el archivo

Botón de anulación privada6_Click(Remitente del objeto, sistema. EventArgs e)

{

StreamWriter uno = nuevo StreamWriter(información pública, verdadero, UTF8Encoding. UTF8);

Uno. escribir(clave pública);

StreamWriter dos = nuevo StreamWriter(información privada, verdadero, UTF8Encoding. UTF8);

Dos. escribir(clave privada);

A. flush();

Dos. rubor();

A. close();

Dos. close();

Cuadro de mensaje. Show("¡Clave pública y clave secreta guardadas correctamente!");

}

//Cifrar con clave pública

Botón de anulación privada4_Click(remitente del objeto, Sistema .EventArgs e)

{

crypt = new RSACryptoServiceProvider();

ut codificación F8 enc = nueva codificación ut F8();

bytes=enc. GetBytes(textBox1.Text);

Cripta. de cadena XML (leer clave pública);

bytes = crypt. cifrar(bytes, falso);

cadena encryttext=enc. GetString(byte); //cifrar byte);

Richtext2. Text= "Resultado del cifrado:\ n"+encrytext+"\ n"+"¡Cifrado finalizado!";

}

Botón de anulación privada5_Haga clic (remitente del objeto, sistema.

EventArgs e)

{

ut codificación F8 enc = nueva codificación ut F8();

byte [] byte descifrado;

Cripta. de cadena XML (readprivatekey);

decryptbyte = crypt. descifrar(bytes, falso);

cadena decrypttext=enc. GetString(descifrar byte);

Richtext3. Text = "Resultado del descifrado:\n"+decrypttext+"\n"+"¡Descifrado completado!";

}

//Leer la información de la clave pública del archivo

Botón de anulación privada7_Click(Remitente del objeto, sistema. EventArgs e)

{

StreamReader sr

open = nuevo diálogo de archivo abierto();

Abrir. Filter= "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.* ";

//Abrir. ShowDialog();

if (open. ShowDialog() == DialogResult. OK)

{

sr = new StreamReader(open. nombre de archivo, codificación utf8 utf8);

}

Otro

{

Cuadro de mensajes. display("¡Ocurrió un error!");

Return;

}

leer clave pública = Sr. ReadToEnd();

Sr. Close();

}

//Leer información de clave privada del archivo

Botón de anulación privada8_Click(Remitente del objeto, sistema. EventArgs e )

{

abrir = nuevo diálogo de archivo abierto();

Abrir. Filter= "Archivos de texto (*.txt)|*.txt |Todos los archivos (*.*)|*.* ";

Abrir. ShowDialog();

StreamReader sr = nuevo StreamReader (open. nombre de archivo, codificación utf8. UTF8

readprivatekey = Sr . . Cerrar();

}

}

}

.