Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Poblema con la classe Rijndael
martedì 25 novembre 2003 - 17.56
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Muten
Profilo
| Junior Member
70
messaggi | Data Invio:
mar 25 nov 2003 - 17:56
utilizzando il codice presente nell'articolo "La crittografia e la classe Rijndael " ho fatto la mia classe cripta.
Ora utilizzando il metodo Decode mi viene generata un eccezione :
"Lunghezza non valida per una matrice di caratteri Base 64"
se la parola decodificata prima era :"aleszimonti@libero.it"
invece aleszimonti@virgilio.it funziona senza problemi
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 25 nov 2003 - 23:19
Ciaoo,
io ti consiglio di rileggere bene l'articolo, e di riguardare il codice forse ti sei dimenticato qualcosa, io ho provato a codificare e decodificare i tuoi due indirizzi di posta elettronica e vanno senza problemi, quetso è il codice che ho usato:
string s1=Encode("aleszimonti@libero.it");
Console.WriteLine(s1);
string s2=Decode(s1);
Console.WriteLine(s2);
s1=Encode("aleszimonti@virgilio.it");
Console.WriteLine(s1);
s2=Decode(s1);
Console.WriteLine(s2);
L'output è il seguente:
aXzSFD4Nk0/bWiPaT3ykFAQk2teHOj+zGQ4k6ykYDsw=
aleszimonti@libero.it
vOJ9fCIX2Rct2xFfrGXFinDVVnxfxstfkKO6IZizjUA=
aleszimonti@virgilio.it
Ciao
David
Muten
Profilo
| Junior Member
70
messaggi | Data Invio:
mer 26 nov 2003 - 10:32
grazie per la risposta, ho provato ed infatti il mio risultato per la mail
aleszimonti@libero.it :
aXzSFD4Nk0/bWiPaT3ykFAQk2teHOj zGQ4k6ykYDsw=
e non
aXzSFD4Nk0/bWiPaT3ykFAQk2teHOj+zGQ4k6ykYDsw=
riporto il codice che ho scritto, (ho dovuto tradurolo in vb)
Public Function Crypta(ByVal strDaCryptare As String) As String
Dim rjm As New RijndaelManaged
rjm.KeySize = 128
rjm.BlockSize = 128
rjm.Key = ASCIIEncoding.ASCII.GetBytes(chiave)
rjm.IV = ASCIIEncoding.ASCII.GetBytes(iv)
Dim input As Byte() = Encoding.UTF8.GetBytes(strDaCryptare)
Dim output As Byte() = rjm.CreateEncryptor().TransformFinalBlock(input, 0, input.Length)
Return Convert.ToBase64String(output)
End Function
sicuramente ho sbagliato qualcosa, ma non riesco a capire cosa !!!
ps scusate la maleducazione, mi presento sono Giuseppe
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 26 nov 2003 - 12:08
Ciao la tua funzione è perfetta.
Questo è l'output che ottengo:
aXzSFD4Nk0/bWiPaT3ykFAQk2teHOj+zGQ4k6ykYDsw=
identico alla versione C# logicamente. Quindi io andrei a cercare il problema altrove.
La procedura e il codice di codifica/decodifica sono perfetti.
ciao
david
Muten
Profilo
| Junior Member
70
messaggi | Data Invio:
mer 26 nov 2003 - 14:32
ho trovato il problema, io uso il codice criptato per passare i parametri in una pagina ASP.NET
utilizzando i paramtri dell'url, quando faccio il Request.QueryString il + mi scompare...
per ora uso la session, ma mi piacerebbe sapere perchè il Request.QueryString non "digerisce" il +.
grazie ancora
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 26 nov 2003 - 14:49
allora cambia tutto, prova ad usare questa funzione:
Dim criptata as string
criptata="3434j4h3j5j3+wdsfW="
Dim alfa as String
alfa=HttpUtility.UrlEncode(criptata)
Dentro le parentesi passi la stringa criptata, e in uscita nella variabile alfa hai la stessa stringa però i caratteri speciali sono convertiti in modo che non li perdi se li passi come parametro alla pagina, esempio lo spazio dovrebbe essere convertito in %20 allo stesso modo il + ecc.
Ciao
david
Muten
Profilo
| Junior Member
70
messaggi | Data Invio:
mer 26 nov 2003 - 15:07
perfetto, grazie mille :-)
ps ho come l'impressione che scriverò abbastanza spesso su questo utilissimo forum
ps che leccaculo ;-)
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 26 nov 2003 - 15:21
:)
LOL :)
ciao
Torna su
Stanze Forum
Elenco Threads
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 !