Poste Italiane, sta per partire la rivoluzione: al lavoro anche nei giorni festivi
Il nuovo progetto di Poste Italiane punta a migliorare sensibilmente i suoi servizi e tra le novità che prenderanno il …
Il nuovo progetto di Poste Italiane punta a migliorare sensibilmente i suoi servizi e tra le novità che prenderanno il …
Se pensate che al giorno d’oggi i telefonini siano arrivati a prezzi esagerati, esclusivamente a causa della tecnologia che racchiudono …
Quando si prenotano le vacanze è davvero difficile riuscire a non cadere nelle truffe di alcune aziende, ma grazie a …
In questa parte finale del 2023 sul mercato delle auto si è abbattuto un vero e proprio uragano: la nuova …
Ormai è nota a tutti la fama da playboy di Claudio Amendola, ma nessuno si aspettava si riaccompagnasse così presto. …
Ormai manca davvero poco a Natale. La vera domanda è come ingannare l’attesa? Non c’è da preoccuparsi ci sono tanti …
Su quello che è l’algoritmo di cifrature TripleDes vi invito a leggere questo articolo su Wikipedia in qui è spiegato molto bene il funzionamento e la sicurezza del algoritmo. Oggi sono qua a farvi vedere un esempio di cifratura di stringhe con questo ottimo algoritmo. Come prima cosa dovete importare nel vostro progetto la libreria System.Security.Cryptography:
Imports System.Security.Cryptography
A questo punto nella vostra classe dovete definire due varibili globali un chiave di cifratura e un vettore di inizializzazione per l’algoritmo di cifratura. Ecco un esempio di come possono essere queste due varibili:
Private key() As Byte = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}
Private iv() As Byte = {65, 110, 68, 26, 69, 178, 200, 219}
Io qua ho definito il direttamente il byte del key di cifratura e del vettore di inizializzazione. Voi potete partire anche da stringhe come “CIAOMAMMACOMEMIDIVERTO” e poi prendere i byte con il metodo GetByte che trovate nella classe Encoding.ASCII:
iv = UTF8Encoding.ASCII.GetBytes(“CIAOMAMMACOMEMIDIVERTO“)
Una volta che avete creato queste due varibili globali, nella vostra funzione di cifrature (la quale in ingresso vorrà una stringa – testodacifrare -) dovete dichiarare le seguenti variabili:
Dim uEncoder As UTF8Encoding = New UTF8Encoding()
Dim byteIngresso() As Byte
Dim tdProvider As TripleDESCryptoServiceProvider
Dim icTransform As ICryptoTransform
Dim mStream As MemoryStream
Dim cStream As CryptoStream
Poi per cifrare questa stringa dovete scrivere queste righe di codice:
Try
byteIngresso = uEncoder.GetBytes(testodacifrare)
tdProvider = New TripleDESCryptoServiceProvider()
icTransform = tdProvider.CreateEncryptor(Me.key, Me.iv)
mStream = New MemoryStream()
cStream = New CryptoStream(mStream, icTransform, CryptoStreamMode.Write)
cStream.Write(byteIngresso, 0, byteIngresso.Length)
cStream.FlushFinalBlock()
mStream.Position = 0
E poi generate l’output così:
Dim result(mStream.Length – 1) As Byte
mStream.Read(result, 0, mStream.Length)
cStream.Close()
Return result
Catch ex As Exception
Throw ex
End Try
Adesso la vostra stringa è cifrata, ma come farete a decifrarla?! Ve lo dico domani :). Buona programmazione a tutti.
© 2024 G Tech Group S.R.L.S. – Via di Gagia 22, 38086 Giustino (TN) – P.IVA 02743570224 – REA TN – 246638 – SDI SZLUBAI -PEC gtechgroupsrls@postacert.eu
3 risposte
Mi da errore a
UTF8Encoding e a
MemoryStream
Che errore ti da?
ciao, l’articolo è proprio interessante, devo sviluppoare una applicazione con l’algoritmo 3Des, ho provato utilizzando il codice ma avendo sempre utilizzato ASP classic non capisco come implementarlo. Ho proceduto così: copiato in ordine il codice, ma non funziona. Come devo proceder? Grazie.