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
ASP.NET 2.0 / 3.5 / 4.0
Criptare parametri url con Base64
giovedì 22 gennaio 2009 - 11.10
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ely_bise
Profilo
| Newbie
27
messaggi | Data Invio:
gio 22 gen 2009 - 11:10
Ciao a tutti,
ho trovato una funzione che cripta e decripta una stringa, ma il problema è che per convertire l'array di byte in stringa usa ToBase64String che prevede anche caratteri come '/' che però non va bene se poi la striga viene passata via url.
Come potrei risolvere il problema?
Ecco un pezzo della classe che uso, riporto la funzione di criptazione:
public string EncryptString(string src)
{
keyb = LoadKey();
byte[] p = Encoding.ASCII.GetBytes(src.ToCharArray());
byte[] encodedBytes = { };
MemoryStream ms = new MemoryStream();
RijndaelManaged rv = new RijndaelManaged();
CryptoStream cs = new CryptoStream(ms, rv.CreateEncryptor(keyb, ivb), CryptoStreamMode.Write);
try
{
cs.Write(p, 0, p.Length);
cs.FlushFinalBlock();
encodedBytes = ms.ToArray();
}
finally
{
ms.Close();
cs.Close();
}
return Convert.ToBase64String(encodedBytes);
}
Grazie mille
balfaz
Profilo
| Expert
726
messaggi | Data Invio:
gio 22 gen 2009 - 20:41
dopo la conversione puoi fare un htmlencode su questo valore in questa maniera
c#
string EncodedString = Server.HtmlEncode(strB64);
vb
dim encodedstring as string = server.htmlencode(strB64)
spero che questo ti serva
"Che in questo 2009 i nostri codici possano sconvolgere il mondo."
ely_bise
Profilo
| Newbie
27
messaggi | Data Invio:
ven 23 gen 2009 - 15:21
Mi dispiace ma in questo modo le barre le tiene...oltre poi dopo a non riuscire a recuperare il valore reale..
balfaz
Profilo
| Expert
726
messaggi | Data Invio:
ven 23 gen 2009 - 15:49
prova in questa maniera
Server.UrlEncode(variabile_Base64),
poi per riconvertirlo fai server.urldecode(varibile_querystring)
facci sapere
"Che in questo 2009 i nostri codici possano sconvolgere il mondo."
ely_bise
Profilo
| Newbie
27
messaggi | Data Invio:
ven 23 gen 2009 - 16:47
Forse mi sono complicata un pò la vita e mi sono persa in una goccia d'acqua...
per tagliare la testa al toro o semplicemente fatto un Replace di "/" con "-" non previsto come carattere in Base64.
Poi sul valore di querystring faccio prima un replace da "-" a "/" e decripto.
Grazie comunque!
balfaz
Profilo
| Expert
726
messaggi | Data Invio:
dom 25 gen 2009 - 01:16
ti consiglio di applicare il metodo che ti avevo proposto, ti spiego, mi è capitato di dover convertire certi valori in base 64 e ci sono altri caratteri che non sono gestiti dei browser come url e possono comparire quando realizzi questa coversione. OKKIO
"Che in questo 2009 i nostri codici possano sconvolgere il mondo."
ely_bise
Profilo
| Newbie
27
messaggi | Data Invio:
lun 26 gen 2009 - 18:44
Ciao grazie dei consigli...sto provando ad usare il tuo metodo, perchè il mio...non funziona sempre...
Solo che con il tuo sistema, anche con Server.UrlEncode sulla stringa criptata non funziona...le / non me le toglie...e quindi non mi trova la pagina poi!!
Sbaglio qualcosa? Altri suggerimenti per caso?
grazie mille
balfaz
Profilo
| Expert
726
messaggi | Data Invio:
mar 27 gen 2009 - 12:40
diciamo che purtroppo essendo urlencode questo metodo non converte i caratteri validi dentro l'url tipo "?", "/", "&"
http://msdn.microsoft.com/en-us/library/zttxte6w.aspx
(per più informazione)
e purtroppo questa conversione dovrà essere realizzata manualmente con una tua funzione, chiaro se vai a vedere passare da 3 costante (i caratteri sopra) a una bella riga di caratteri non interpretati per il browser è già qualcosa.
comunque cercherò in giro se trovo qualcosa e senz'altro ti dico.
"Che in questo 2009 i nostri codici possano sconvolgere il mondo."
ely_bise
Profilo
| Newbie
27
messaggi | Data Invio:
mar 27 gen 2009 - 12:46
Grazie mille, siete sempre un sacco gentili in questo forum! :)
Intanto arrangio con un replace, se trovo anch'io qualcosa vi faccio sapere!
Grazie ancora!
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 !