您现在的位置: ASP技术网 >> ASP学习 >> ASP安全加密 >> 文章正文

  没有公告

推荐文章
固顶文章在ASP中使用SQL语句之12:连接
推荐文章二级域名原理以及程序,申请即可
固顶文章十天学会ASP之第四天
固顶文章十天学会ASP之第三天
固顶文章十天学会ASP之第二天
热门文章
在ASP中使用SQL
十天学会ASP之第
十天学会ASP之第
十天学会ASP之第
专题栏目
一套加解密字符串的函数
作者:admin 文章来源:本站原创 点击数: 更新时间:2004-9-9
<%
Function Encrypt(theNumber)
On Error Resume Next
Dim n, szEnc, t, HiN, LoN, i
n = CDbl((theNumber + 1570) ^ 2 - 7 * (theNumber + 1570) - 450)
If n < 0 Then szEnc = "R" Else szEnc = "J"
n = CStr(abs(n))
For i = 1 To Len(n) step 2
  t = Mid(n, i, 2)
  If Len(t) = 1 Then
   szEnc = szEnc & t
   Exit For
  End If
  HiN = (CInt(t) And 240) / 16
  LoN = CInt(t) And 15
  szEnc = szEnc & Chr(Asc("M") + HiN) & Chr(Asc("C") + LoN)
Next
Encrypt = szEnc
End Function

Function Decrypt(theNumber)
On Error Resume Next
Dim e, n, sign, t, HiN, LoN, NewN, i
e = theNumber
If Left(e, 1) = "R" Then sign = -1 Else sign = 1
e = Mid(e, 2)
NewN = ""
For i = 1 To Len(e) step 2
  t = Mid(e, i, 2)
  If Asc(t) >= Asc("0") And Asc(t) <= Asc("9") Then
   NewN = NewN & t
   Exit For
  End If
  HiN = Mid(t, 1, 1)
  LoN = Mid(t, 2, 1)
  HiN = (Asc(HiN) - Asc("M")) * 16
  LoN = Asc(LoN) - Asc("C")
  t = CStr(HiN Or LoN)
  If Len(t) = 1 Then t = "0" & t
  NewN = NewN & t
Next
e = CDbl(NewN) * sign
Decrypt = CLng((7 + sqr(49 - 4 * (-450 - e))) / 2 - 1570)
End Function
%>
<html><body>
Original number: 69 <br>
Encrypt(69) returns: JNMQMOJ8 <br>
Decrypt("JNMQMOJ8") returns: 69
<p>
Another example using variables instead: <br>
Encrypt(Request.Form("ID")) <br>
Encrypt(myVar) <br>
Decrypt(Request.QueryString("id")) <br>
Decrypt("JNMQMOJ8") <br>
Decrypt(myVar)

</body></html>
发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) 去论坛聊聊
    站内文章搜索
    点击申请点击申请点击申请点击申请点击申请点击申请点击申请点击申请