Newsgroup: it.comp.www.asp
Titolo: criptare un cookie sul client

Ciao a tutti,
vorrei una critica da voi GURU su questo stratagemma che ho implementato in
parte per criptare un cookie sul client.
-------------
Prima di tutto c'è una funzione di criptazione e decriptazione...
<%
'ovviamente questi valori arrivano da campi form
Dim sUsername,sPassword,iRemember,AllStr
sUsername = "John"
sPassword = "Connor"
iRemember = 1
AllStr = "sUsername=" & sUsername & " sPassword=" & sPassword & "
iRemember=" & iRemember
'me lo stampo x vederlo
response.Write(AllStr)
'funzione di criptazione e tutta la mia stringa dei valori
response.cookies("test")= fCrypt("Chiave X la funzione", AllStr)
response.Cookies("test").expires = Date + 1
%>
OK il cookie è scritto...praticamente è una cosa di questo tipo...
YP2PznRe2s28s42694VWIsRpkPAFsAA3ORD69sTQ2UR9ksoaw2CrmPfm72UR0KxnFRNkckiPKZso
I2tRv9x2As9DNbvcsucTPdoNBGzsU2P7x4ERPW2B4jNHQ2TKdD1t29Rt2Lc6ok52D32HG52V30QS
G2vSPVSgWRKBxAAFKAa4
incomprensibile se non viene decriptato...
------
Poi nella pagina in cui andrò a recuperare i valori chiamo:
<%
Dim MyString,MyArray
MyString= fDecrypt("Chiave X la funzione",Request.cookies("test"))
'praticamente mi viene restituita così decriptata: sUsername=John
sPassword=Connor iRemember=1
'creo un array
MyArray = split(MyString," ")
'Adesso chiamo le funzioni per tirarmi fuori il valore esatto che mi
interessa
'e poi lo vado a mettere gli stessi nei campi form che ho deciso che debbano
essere ricordati
Response.write mid(MyArray2(0),11,8) & "<br>"
Response.write mid(MyArray2(1),11,8) & "<br>"
Response.write mid(MyArray2(2),11,2) & "<br>"
%>
Perchè ho fatto tutto questo? Perchè non mi andava che si vedesse nel cookie
le varie chiavi della collection...anche se i valori erano totalmente
criptati comunque.
Spero in un vostro consiglio/osservazioni.
Alen
****************************************
Vivi come se dovessi morire domani,
pensa come se non dovessi morire mai.
****************************************


Moderatore di it.comp.www.asp - Microsoft .NET MVP
http://www.aspitalia.com/
 Enjoy the .NET community!
http://www.dev2dev.it/
 La rete ha connesso nuove particelle! 

 interessa proteggere questi dati.
Detto da te č un grande complimento per me : ))
Ecco la funzione a chi servisse...
BYE
----------
<%
Dim i, sValid, sInvalid
sInvalid = "bcdfghijklopqruvwxyz0134678BCEFGHIJKLMOQSVWXYZ"
sValid   = "2RDPsANtame95nUT"
randomize
function int2hex(iNum)
     Dim sHex
     sHex = mid(sValid,cint(iNum \ 16)+1,1) & mid(sValid,cint(iNum mod
16)+1,1)
     int2hex = sHex
End Function
function hex2int(sHex)
     Dim iNum
     iNum = (instr(1,sValid,left(sHex,1))-1)*16 +
instr(1,sValid,right(sHex,1))-1
     hex2int = iNum
End Function
Function fCrypt(sClave,sTmp)
  Dim iKeyChar, iStringChar, i, ii, sEncrypted, iCryptChar
  sEncrypted = ""
  ii = 1
  for i = 1 to Len(sTmp)
     iKeyChar    = Asc(mid(sClave,ii,1))
     iStringChar = Asc(mid(sTmp,i,1))
     iCryptChar  = iKeyChar Xor iStringChar
     sEncrypted  = sEncrypted & int2hex(iCryptChar)
     ii = ii + 1
     if ii > len(sClave) then ii = 1 end if
  next
  for i=1 to len(sEncrypted)
          ii = cint(rnd*(len(sEncrypted)))+1
          sEncrypted = left(sEncrypted,ii-1) &
mid(sInvalid,cint(rnd*(len(sInvalid)))+1,1) &
right(sEncrypted,len(sEncrypted)-(ii-1))
  next
  fCrypt = sEncrypted
End Function
Function fDecrypt(sClave, sTmp)
  Dim iKeyChar, iStringChar, i, ii, sEncrypted, iCryptChar, sTmp2
  sEncrypted = ""
  sTmp2 = ""
  for i = 1 to Len(sTmp)
          if instr(1,sValid,mid(sTmp,i,1)) > 0 then
               sTmp2 = sTmp2 & mid(sTmp,i,1)
          end if
  next
  ii = 1
  for i = 1 to Len(sTmp2)/2
     iKeyChar    = Asc(mid(sClave,ii,1))
     iStringChar = hex2int(mid(sTmp2,((i-1)*2)+1,2))
     iCryptChar  = iKeyChar Xor iStringChar
     sEncrypted  = sEncrypted & chr(iCryptChar)
     ii = ii + 1
     if ii > len(sClave) then ii = 1 end if
  next
  fDecrypt = sEncrypted
End Function
%>

 Detto da te è un grande complimento per me : ))
esagerato :)


Detto da te è un grande complimento per me
In realtà i complimenti andrebbero fatti al vero autore, il mitico xabi...
--
Enjoy the .NET community! ASPItalia.com
 
http://forum.aspitalia.com/
 
http://www.aspitalia.com/

 In realtà i complimenti andrebbero fatti al vero autore, il mitico xabi...
infatti non ho mai detto che ho fatto io tutto qual codice, mi riferivo solo
al sistema per non far vedere la colection del cookie...
"...Ciao a tutti,
vorrei una critica da voi GURU su questo stratagemma che ho implementato in
parte per criptare un cookie sul client...."
io intendevo la parte finale quella per non fare visualizzare la collection
del cookie...
Non sono così bravo...magari!
P.S.:non preoccuparti che anch'io ho già fatto i complimenti a xabi!!!!
: )
BYE