Vb.net Rijndael

martedì 08 aprile 2008 - 10.47

andrean89 Profilo | Newbie

buongiorno,
ho provato a criptare delle stringe di testo con l'algoritmo in oggetto solo che non sono molto contento del risultato,
mi spigo meglio il risultato è compostao da caratteri alfanumerici e da caratteri speciali come (=+ ecc.)
ho visto su un sito (http://samples.dart.com/cryptdecrypt/default.aspx) che con lo stesso algoritmo il risultato e solo testo e numeri...
sapete indicarmi una guida o uno script che farebbe al caso mio???
vi ringrazio in anticipo
Andrea

aiedail92 Profilo | Expert

Ciao

In realtà l'algoritmo restituisce solo un array di byte, poi sta a te scegliere come codificarli in una stringa. Probabilmente nel tuo caso hai usato la funzione Convert.ToBase64String, mentre sul sito indicato è stato usato BitConverter.ToString. Prova ad usare la seconda se vuoi vedere il risultato come un numero esadecimale. Devi comunque usare un Replace per eliminare i trattini inseriti nel risultato:

RijndaelManaged rjnd = new RijndaelManaged(); rjnd.Key = Encoding.ASCII.GetBytes ("Test Key 0123456789ABCDEFGHIJKLM"); //Scegli il vettore di inizializzazione rjnd.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; byte[] data = Encoding.ASCII.GetBytes ("The quick brown fox jumps over the lazy dog. 1234567890. !@#$%^&*()"); byte[] res = rjnd.CreateEncryptor().TransformFinalBlock(data, 0, data.Length); string sRes = BitConverter.ToString(res).Replace("-", ""); MessageBox.Show(sRes);

Se poi hai bisogno di riutilizzare il risultato ossenuto sopra per decrittografarlo, devi ricostruire l'array di byte dalla stringa e usare la funzione di decrittografazione.

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5