I use the following simple encryption method
Code:
<%
//---This is to encrypt and decrypt
Dim sbox(255)
Dim key(255)
Sub RC4Initialize(strPwd)
'---- This routine called by EnDeCrypt function. Initializes the sbox and the key array)
dim tempSwap
dim a
dim b
intLength = len(strPwd)
For a = 0 To 255
key(a) = asc(mid(strpwd, (a mod intLength)+1, 1))
sbox(a) = a
next
b = 0
For a = 0 To 255
b = (b + sbox(a) + key(a)) Mod 256
tempSwap = sbox(a)
sbox(a) = sbox(b)
sbox(b) = tempSwap
Next
End Sub
Function EnDeCrypt(plaintxt, psw)
'-- This routine does all the work. Call it both to ENcrypt and to DEcrypt your data.
dim temp
dim a
dim i
dim j
dim k
dim cipherby
dim cipher
i = 0
j = 0
RC4Initialize psw
For a = 1 To Len(plaintxt)
i = (i + 1) Mod 256
j = (j + sbox(i)) Mod 256
temp = sbox(i)
sbox(i) = sbox(j)
sbox(j) = temp
k = sbox((sbox(i) + sbox(j)) Mod 256)
cipherby = Asc(Mid(plaintxt, a, 1)) Xor k
cipher = cipher & Chr(cipherby)
Next
EnDeCrypt = cipher
End Function
//================Usage
//---this can be any text but use the same text to encrypt and decrypt
psw = "anytext"
//---To encrypt
Enc = EnDeCrypt("hello" , psw)
response.write Enc &"<br>"
//---to decrypt
Dec= EnDeCrypt(Enc , psw)
response.write Dec &"<br>"
%>
Important note:- when you pass the encrypted value as querystring you have to use Server.URLEncode(encrptedvalue) otherwise it will not be correctly decrypted.
Comments on this post