Card_Do_Pwd.asp
上传用户:jisenq
上传日期:2014-06-29
资源大小:7216k
文件大小:1k
源码类别:

数据库编程

开发平台:

ASP/ASPX

  1. <%
  2. Function Encrypt(theNumber) 
  3. ''加密后
  4. On Error Resume Next 
  5. Dim n, szEnc, t, HiN, LoN, i 
  6. n = CDbl((theNumber + 1570) ^ 2 - 7 * (theNumber + 1570) - 450) 
  7. If n < 0 Then szEnc = "R" Else szEnc = "J" 
  8. n = CStr(abs(n)) 
  9. For i = 1 To Len(n) step 2 
  10.  t = Mid(n, i, 2) 
  11.  If Len(t) = 1 Then 
  12.  szEnc = szEnc & t 
  13.  Exit For 
  14.  End If 
  15.  HiN = (CInt(t) And 240) / 16 
  16.  LoN = CInt(t) And 15 
  17.  szEnc = szEnc & Chr(Asc("M") + HiN) & Chr(Asc("C") + LoN) 
  18. Next 
  19. Encrypt = szEnc 
  20. End Function 
  21. Function Decrypt(theNumber) 
  22. ''解密后
  23. On Error Resume Next 
  24. Dim e, n, sign, t, HiN, LoN, NewN, i 
  25. e = theNumber 
  26. If Left(e, 1) = "R" Then sign = -1 Else sign = 1 
  27. e = Mid(e, 2) 
  28. NewN = "" 
  29. For i = 1 To Len(e) step 2 
  30.  t = Mid(e, i, 2) 
  31.  If Asc(t) >= Asc("0") And Asc(t) <= Asc("9") Then 
  32.  NewN = NewN & t 
  33.  Exit For 
  34.  End If 
  35.  HiN = Mid(t, 1, 1) 
  36.  LoN = Mid(t, 2, 1) 
  37.  HiN = (Asc(HiN) - Asc("M")) * 16 
  38.  LoN = Asc(LoN) - Asc("C") 
  39.  t = CStr(HiN Or LoN) 
  40.  If Len(t) = 1 Then t = "0" & t 
  41.  NewN = NewN & t 
  42. Next 
  43. e = CDbl(NewN) * sign 
  44. Decrypt = CLng((7 + sqr(49 - 4 * (-450 - e))) / 2 - 1570) 
  45. End Function 
  46. 'Dim Need_Do_Pwd_Str
  47. 'Need_Do_Str = "123456"
  48. 'response.Write("加密后:"&Encrypt(Need_Do_Pwd_Str))
  49. 'response.Write("<br>解密后:"&Decrypt(  Encrypt(Need_Do_Pwd_Str)  ))
  50. %>