可逆的asp加密

由于要对网站的cookie进行加密,所以自已写了个简单的加密类,虽然简单但是挺好用的,使用前请保留作者信息,谢谢

 

'========================
'=创作日期:2013-3-26
'=作者blog:blog.youkuaiyun.com/asp89007342
'=
'========================
Class SEncrypt

	Public needArr(3)
	
	Public passKey
	
	Private Sub Class_Initialize() 
	    needArr(0) = ""
		needArr(1) = "g"
		needArr(2) = "h"
		needArr(3) = "i"
		
		if passKey = "" then
		    passKey = "23456789"
		end if 
	End Sub	
	
	Public function chrcode(str)
	    chrcode = chrw(str)
	end function
	
	Public function asccode(str)
	    asccode = ascw(str)
	end function
	
	Public function addPrevZero(str, minLen)
	    if len(str<minLen) then
			    revCode = ""
	            revCode = needArr(minLen-len(str))
				str = revCode&str
		end if
		addPrevZero = str
	end function
	
	
	Public function Encode(codeString)
	    
		dim secI: secI=1
		
		result = ""
		
		for i=1 to len(codeString)	    
		    c = asccode(mid(codeString,i, 1))+2
			if secI>len(passkey) then secI=1		
			
			c = c + asccode(mid(passkey, secI, 1))
			
			result = result&lcase(addPrevZero(hex(c),4))
			secI = secI+1		
		next
		Encode = result
	end function
	
	
	Public function JoinCode(codeString, needItem)
	    newcodeArr = split(codeString, needArr(needItem))
		newStr = ""
		prvZero = ""
		
		select case needItem
		    case 1
			    prvZero = "000"
			case 2
			    prvZero = "00"
			case 3
			    prvZero = "0"
		end select
        
		newStr = replace(codeString, needArr(needItem), prvZero)
		
		JoinCode = newStr
	end function
	
	Public function Decode(codeString)	
		dim retr 
		
		retr = JoinCode(codeString, 1)
		retr = JoinCode(retr, 2)
		retr = JoinCode(retr, 3)
		
		dim secI: secI=1
		
		oldCode = ""
		
		for newi=1 to len(retr) step 4	    
		    rcode = mid(retr, newi, 4)
			codeN = CLng(cstr("&H"&rcode))
			
			if secI>len(passkey) then secI=1
			
			c = codeN - asccode(mid(passkey, secI, 1))
			oldCode = oldCode&chrcode(c-2)
			secI = secI+1
		next
		
		Decode = oldCode
		
	end function

End Class

Set se = New SEncrypt
    se.passKey = "%^&$&HJKGFabdcdefg"//此处请自行设置密钥	
a = se.Encode("ASP--FileSystemObject 对象_十字路口的树_新浪博客 ASP--FileSystemObject 对象_十字路口的树_新浪博客,十字路口的树, ASP--FileSystemObject 对象_十字路口的树_新浪博客,十字路口的树,杂谈 十字路口的树的BLOG [...")
response.Write a&"<br />"
response.Write se.Decode(a)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值