Ho seguito una piccola guida in cui veniva mostrato come criptare una stringa di testo. Riutillizzero questo codice per un altro programma.
nel codice si possono trovare 2 decripter uno è quello della guida e uno è il mio.Nel primo (il suo) lui sfrutta una variabile ms questo metodo però non mi permette di esportare il testo quindi ho cercato di fare un altro decripter ma con risultati scadenti. qualche anima buona mi puo aiutare
Codice:
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;
namespace cypter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
desObj = Rijndael.Create();
}
string cipherData;
byte[] chipherbytes;
byte[] plainbytes;
byte[] plainbytes2;
byte[] plainKey;
SymmetricAlgorithm desObj;
private void button1_Click(object sender, EventArgs e)
{
cipherData = testo.Text;
plainbytes = Encoding.ASCII.GetBytes(cipherData);
plainKey= Encoding.ASCII.GetBytes("0123456789abcdez"); //deve essere forzatamente di 16 caratteri
desObj.Key = plainKey;
desObj.Mode = CipherMode.CBC;
desObj.Padding = PaddingMode.PKCS7;
System.IO.MemoryStream ms = new System.IO.MemoryStream();
CryptoStream cs = new CryptoStream(ms, desObj.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(plainbytes, 0, plainbytes.Length);
cs.Close();
chipherbytes = ms.ToArray();
ms.Close();
testo_criptato.Text = Encoding.ASCII.GetString(chipherbytes);
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
System.IO.MemoryStream ms1 = new System.IO.MemoryStream(chipherbytes);
CryptoStream cs1 = new CryptoStream(ms1, desObj.CreateDecryptor(), CryptoStreamMode.Read);
cs1.Read(chipherbytes, 0, chipherbytes .Length);
plainbytes2 = ms1.ToArray();
cs1.Close();
ms1.Close();
string garbage = Encoding.ASCII.GetString(plainbytes2);
string decrypt = garbage.Substring(0, plainbytes.Length);
testo_decriptato.Text = decrypt;
}
private void button3_Click(object sender, EventArgs e)
{
System.IO.MemoryStream ms1 = new System.IO.MemoryStream(chipherbytes);
CryptoStream cs1 = new CryptoStream(ms1, desObj.CreateDecryptor(), CryptoStreamMode.Read);
cs1.Read(chipherbytes, 0, chipherbytes .Length);
plainbytes2 = ms1.ToArray();
cs1.Close();
ms1.Close();
string garbage = Encoding.ASCII.GetString(plainbytes2);
string decrypt = garbage.Substring(0, plainbytes.Length);
testo_decriptato.Text = decrypt;
}
}
}
nel codice si possono trovare 2 decripter uno è quello della guida e uno è il mio.Nel primo (il suo) lui sfrutta una variabile ms questo metodo però non mi permette di esportare il testo quindi ho cercato di fare un altro decripter ma con risultati scadenti. qualche anima buona mi puo aiutare