首页 > 开发 > 综合 > 正文

一个简单的加密/解密方法

2024-07-21 02:16:01
字体:
来源:转载
供稿:网友

private function encryptstring(strstring)
dim charhexset, intstringlen, strtemp, strraw, i, intkey, intoffset
randomize timer

intkey = round((rnd * 1000000) + 1000000) '##### key bitsize
intoffset = round((rnd * 1000000) + 1000000) '##### keyoffset bitsize

if isnull(strstring) = false then
strraw = strstring
intstringlen = len(strraw)

for i = 0 to intstringlen - 1
strtemp = left(strraw, 1)
strraw = right(strraw, len(strraw) - 1)
charhexset = charhexset & hex(asc(strtemp) * intkey)& hex(intkey)
next

encryptstring = charhexset & "|" & hex(intoffset + intkey) & "|" & hex(intoffset)
else
encryptstring = ""
end if
end function

private function decryptstring(strcryptstring)
dim strraw, arhexcharset, i, intkey, intoffset, strrawkey, strhexcrypdata

strrawkey = right(strcryptstring, len(strcryptstring) - instr(strcryptstring, "|"))
intoffset = right(strrawkey, len(strrawkey) - instr(strrawkey,"|"))
intkey = hexconv(left(strrawkey, instr(strrawkey, "|") - 1)) - hexconv(intoffset)
strhexcrypdata = left(strcryptstring, len(strcryptstring) - (len(strrawkey) + 1))

arhexcharset = split(strhexcrypdata, hex(intkey))

for i=0 to ubound(arhexcharset)
strraw = strraw & chr(hexconv(arhexcharset(i))/intkey)
next

decryptstring = strraw
end function

private function hexconv(hexvar)
dim hxx, hxx_var, multiply
if hexvar <> "" then
hexvar = ucase(hexvar)
hexvar = strreverse(hexvar)
dim hx()
redim hx(len(hexvar))
hxx = 0
hxx_var = 0
for hxx = 1 to len(hexvar)
if multiply = "" then multiply = 1
hx(hxx) = mid(hexvar,hxx,1)
hxx_var = (get_hxno(hx(hxx)) * multiply) + hxx_var
multiply = (multiply * 16)
next
hexvar = hxx_var
hexconv = hexvar
end if
end function

private function get_hxno(ghx)
if ghx = "a" then
ghx = 10
elseif ghx = "b" then
ghx = 11
elseif ghx = "c" then
ghx = 12
elseif ghx = "d" then
ghx = 13
elseif ghx = "e" then
ghx = 14
elseif ghx = "f" then
ghx = 15
end if
get_hxno = ghx
end function

  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表