Criptare files e proteggere dati sensibili con javascript su PC e MAC
Con pochissime righe di codice e una libreria Javascript , puoi realizzare un sistema efficace per criptare file e proteggere dati sensibili.
di Antonio Lamorgese
In questa guida vedraicome criptare fileseproteggere dati sensibilicon Javascript, utilizzando un sistema semplice e affidabile. Avrai modo di proteggere i tuoi dati, e quelli di altri in tuo possesso, in totale sicurezza. A tal proposito, visto e considerato che internet è, ad oggi, il sistema più diffuso per trasmettere file contenenti, spesso, informazioni riservate non è sbagliato criptare questi file evitando che le informazioni in essi contenute possano essere lette o, peggio ancora, rubate. Di conseguenza, la crittografia risulta essere una delle pratiche più idonee, da mettere in atto, per proteggere dati sensibili in tuoi possesso.
LEGGI ANCHE:Come proteggere file e cartelle in Windows
In questo articolo:
1. L’importanza di criptare files e proteggere dati sensibili
Come ho accennato precedentemente, la crittografia, pur avendo origini antiche, è tutt’ora il sistema più utilizzato per criptare file e dati prima di essere trasmessi o archiviati da sistemi elettronici. Molti utenti, però, evitano questa importante pratica, mettendo ogni giorno a rischio i dati sensibili trattati, rendendoli di fatto accessibili a chiunque.
Per fortuna, i software e le librerie disponibili hanno reso la crittografia una tecnica accessibile a tutti. In questa guida, sfruttando una libreria Javascript, gratuita, vedrai come implementare, nei tuoi progetti, un sistema di crittografia file semplice e immediato.
2. La crittografia a chiave simmetrica
Il sistema utilizzato, in questo articolo, è noto con il nome di “crittografia a chiave simmetrica”. Cioè, il file può essere decriptato solo dalla persona che conosce la password di decodifica.
Logicamente la password, utilizzata per la decodifica delle informazioni, deve viaggiare su canali diversi da quelli utilizzati per la trasmissione e la condivisione delle informazioni da proteggere. Questo tipo di approccio, è diventato necessario per impedire la diffusione, involontaria, di informazioni riservate.
In questo breve video tutorial avrai modo di approfondire i vari tipi di crittografia è l’importanza che riveste nel trattamento dei dati sensibili, con l’ausilio di sistemi informatici.
3. Criptare files con Javascript
Il sistema utilizzato in questo articolo, per criptare files, sfrutta la libreria Javascript “crypto Library”. La libreriaaes-jsè reperibile sul portaleCDNJS a questo indirizzo. Se non hai tempo e vuoi provare subito le straordinarie funzionalità di questa libreria,puoi cliccare su questo linke testare la demo online.

3.1 Il metodo di Cifratura file con AES e javascript
Ora, dedicami cinque minuti del tuo preziosissimo tempo e iniziamo a studiare le due funzioni principali della libreriaaes-js. Nel codice seguente, e solo a titolo esplicativo, sono riportate le istruzioni che ti permettono di criptare il file “file1.pdf”:
// Cripta il file
var file = ‘file1.pdf’;
var reader = new FileReader();
reader.readerAsDataURL(file);
reader.onload = function(e) {
var encrypted = CryptoJs.AES.encrypt(e.target.result, password);
$(‘#step4 a.download’).attr(‘href’, ‘data:application/octet-stream,’+encrypted);
$(‘#step4 a.download’).attr(‘download’, file + ‘.encrypted’);
}
Stessa operazione eseguita per la codifica va effettuata per la decodifica del file criptato.
// Decripta il file
var file = ‘file1.pdf’;
var reader = new FileReader();
reader.readerAsText(file);
reader.onload = function(e) {
var decrypted = CryptoJs.AES.decrypt(e.target.result, password).toString(CryptoJS.enc.Latin1);
$(‘#step4 a.download’).attr(‘href’, decrypted);
$(‘#step4 a.download’).attr(‘download’, file.replace(‘.encrypted’,’’));
}
Nei due script, puoi notare come, le funzionalità per accedere al contenuto di un file fanno ricorso all’oggetto FileReader. Il quale, tramite i suoi duemetodi asincroni, può leggere e gestire l’intero contenuto di un file. Terminata la lettura del file viene innescato l’eventoonloaddell’oggettoreader, a cui viene passato il parametro “e”. Il contenuto del file da criptare viene passato alla funzioneCryptoJs.AES.encryptattraverso la seguente istruzione:e.target.result.
Il contenuto criptato viene memorizzato nella variabileencrypted, che crea un URL associato al tag <A> con IDdownloade contenuto all’interno del DIV con IDstep4.Creando, di fatto, un pulsante cliccabile che ti permetterà di scaricare il file criptato.
3.2 Scarica e prova la demo, per la Cifratura file, sul tuo PC
Ad ogni modo, per implementare il tuo primo sistema di cifratura non è necessario scrivere decine di righe di codice, quello che è necessario adesso è scaricare il progetto daquesto indirizzoe dare un’occhiata al contenuto dei fileindex.htmle../assets/js/script.jspresenti all’interno del file zip scaricato.
Esegui il fileindex.html, aprendolo con il tuo browser web preferito, e prova a criptare e decriptare un file.
Il resto del codice di cifratura e decodifica è contenuto proprio all’interno del filescript.js, che puoi tranquillamente aprire e modificare a tuo piacimento. In questo file è interessante notare le istruzioni che mettono in moto tutte le funzionalità della libreriaaes-jse come, con pochissime righe di codice, è possibile realizzare un vero e proprio sistema di codifica e decodifica file.
LEGGI ANCHE:Come proteggere con password file e cartelle

