Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - criptare file c#
Forum - C# / VB.NET - criptare file c#

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Segnala al moderatore
Postato alle 11:08
Martedì, 14/04/2009
salve a tt

qualcuno sa mica come si  può criptare un file? per il testo ci sono riuscito con questo codice che molti usano :

public static string Encode(string text, string chiave)
        {
            RijndaelManaged rjm = new RijndaelManaged();
            rjm.KeySize = 256;
            rjm.BlockSize = 256;
            rjm.Key = ASCIIEncoding.ASCII.GetBytes(chiave);
            rjm.IV = ASCIIEncoding.ASCII.GetBytes(standard);
            byte[] input = Encoding.UTF8.GetBytes(text);
            byte[] output = rjm.CreateEncryptor().TransformFinalBlock(input, 0, input.Length);
            return Convert.ToBase64String(output);
        }

lo stesso metodo è possibile adattarlo ad un file ? o per un file e diverso ??
gra in anticipo

PM Quote
Avatar
andrea.b89 (Ex-Member)
Pro


Messaggi: 129
Iscritto: 03/03/2009

Segnala al moderatore
Postato alle 11:15
Martedì, 14/04/2009
beh, molto semplicemente puoi leggere in maniera binaria un file con l'oggetto BinaryReader e dopo aver letto i byte cripti ciò che hai letto e ricrei il file.

concenttualmente si può fare così ;)

PM Quote
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Segnala al moderatore
Postato alle 14:05
Martedì, 14/04/2009
          openFileDialog1.ShowDialog();
            FileStream cripting = File.Open(openFileDialog1.FileName, FileMode.OpenOrCreate);
            Rijndael rija = Rijndael.Create();
            rija.KeySize = 256;
            rija.BlockSize = 256;
            string chiave = textBox1.Text;
            rjm = ASCIIEncoding.ASCII.GetBytes(chiave);
            rjm1 = ASCIIEncoding.ASCII.GetBytes(standard);
            CryptoStream cry = new CryptoStream(cripting, rija.CreateEncryptor(rjm, rjm1), CryptoStreamMode.Write);
            StreamWriter st = new StreamWriter(cry);

ho provato in questo modo ma non riesco a criptare un file binario come posso fare cos'è che nn va ?

Ultima modifica effettuata da jaco94++ il 14/04/2009 alle 20:12
PM Quote
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Segnala al moderatore
Postato alle 20:46
Martedì, 14/04/2009
Quel codice mi da come errore che il file è aperto da un altro programma.
funziona se devo criptare del testo in un txt ma un file binario non riesco proprio a criptarlo...
come faccio ?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:13
Mercoledì, 15/04/2009
Il file lo hai aperto tu e poi non l'hai chiuso (FileStream e CryptoStream). Funziona per qualsiasi tipo di file, smettetela di fare discriminazioni :rotfl:

PM Quote
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Segnala al moderatore
Postato alle 14:13
Mercoledì, 15/04/2009
Non riesco proprio ho provato in tt i modi :d:d ma continua a darmi un dannato errore di apertura del file perche utilizzato da un altro processo ( nn e verooo!!!) nn si muove da questa riga:

FileStream cripting = File.Open(openFileDialog1.FileName, FileMode.OpenOrCreate);


allego un immagine


jaco94++ ha allegato un file: error.jpg (301590 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 21:06
Mercoledì, 15/04/2009
Il computer non ha mai torto. Il file è in effetti in uso da un altro processo, che potrebbe anche essere il tuo se ti dimentichi di chiudere il file o se usi del codice non a prova di bomba. Se stai usando un hex editor, chiudilo. Posta il resto del codice.

PM Quote
Avatar
jaco94++ (Normal User)
Expert


Messaggi: 203
Iscritto: 22/10/2008

Segnala al moderatore
Postato alle 22:19
Mercoledì, 15/04/2009
purtroppo nn uso hex editor o altro nn uso nulla quel file e li da una vita e nn lo mai aperto appena accendo il pc e provo subito mi da lo stesso errore eppure nn viene aperto da nulla se controllo nn e in memoria da nessuna parte il codice completo e sepre lui ... in un tasto  nel form :

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 FileCoding
{
    public partial class FileCoding : Form
    {
        public FileCoding()
        {
            InitializeComponent();
        }


        #region variabili vitali

        private const string standard = ("cioeè°òd893=d?prnc+*ieI5TH-e_39X");
        byte []rjm = { };
        byte[] rjm1 = { };

        #endregion

        private void button1_Click(object sender, EventArgs e)
// lui mi da problemi
        {
            openFileDialog1.ShowDialog();
            FileStream cripting = File.Open(openFileDialog1.FileName, FileMode.OpenOrCreate);
            cripting.Close();
            Rijndael rija = Rijndael.Create();
            rija.KeySize = 256;
            rija.BlockSize = 256;
            string chiave = textBox1.Text;
            rjm = ASCIIEncoding.ASCII.GetBytes(chiave);
            rjm1 = ASCIIEncoding.ASCII.GetBytes(standard);
            CryptoStream cry = new CryptoStream(cripting, rija.CreateEncryptor(rjm, rjm1), CryptoStreamMode.Write);
            StreamWriter write = new StreamWriter(cry);
      
        }

        private void button2_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void FileCoding_Load(object sender, EventArgs e)
        {

        }
    }
}
:d:d

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:18
Giovedì, 16/04/2009
Ma hai un computer posseudo? E' teoricamente impossibile, perciò bisogna fare altri tentativi. Prova a cambiare il file in questione e vedere se dà lo stesso errore. Prova a guardare nei dettagli dell'eccezione se riesci ad ottenere qualche informazione in più. Insomma, dimostra se questo errore è congenito oppure è di circostanza :rotfl:

PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo