活着的死人 发表于 2015-1-16 23:39:50

ASP网页编程之一段在asp中加密与解密对应的函数

专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。函数|加密|解密在ASP中加密办法有对应的解密办法好象未几,如今依据先辈材料收拾出在asp中加密与解密函数

rsa.asp
<%
rem在ASP中完成加密与解密,加密办法:依据RSA
rem接洽:hnsoso@sina.com
ClassclsRSA

  PublicPrivateKey
  PublicPublicKey
  PublicModulus
  
  PublicFunctionCrypt(pLngMessage,pLngKey)
    OnErrorResumeNext
    DimlLngMod
    DimlLngResult
    DimlLngIndex
    IfpLngKeyMod2=0Then
      lLngResult=1
      ForlLngIndex=1TopLngKey/2
        lLngMod=(pLngMessage^2)ModModulus
        Modmayerroronkeygeneration
        lLngResult=(lLngMod*lLngResult)ModModulus
        IfErrThenExitFunction
      Next
    Else
      lLngResult=pLngMessage
      ForlLngIndex=1TopLngKey/2
        lLngMod=(pLngMessage^2)ModModulus
        OnErrorResumeNext
        Modmayerroronkeygeneration
        lLngResult=(lLngMod*lLngResult)ModModulus
        IfErrThenExitFunction
      Next
    EndIf
    Crypt=lLngResult
  EndFunction

  PublicFunctionEncode(ByValpStrMessage)
    DimlLngIndex
    DimlLngMaxIndex
    DimlBytAscii
    DimlLngEncrypted
    lLngMaxIndex=Len(pStrMessage)
    IflLngMaxIndex=0ThenExitFunction
    ForlLngIndex=1TolLngMaxIndex
      lBytAscii=Asc(Mid(pStrMessage,lLngIndex,1))
      lLngEncrypted=Crypt(lBytAscii,PublicKey)
      Encode=Encode&NumberToHex(lLngEncrypted,4)
    Next
  EndFunction
  
  PublicFunctionDecode(ByValpStrMessage)
    DimlBytAscii
    DimlLngIndex
    DimlLngMaxIndex
    DimlLngEncryptedData
    Decode=""
    lLngMaxIndex=Len(pStrMessage)
    ForlLngIndex=1TolLngMaxIndexStep4
      lLngEncryptedData=HexToNumber(Mid(pStrMessage,lLngIndex,4))
      lBytAscii=Crypt(lLngEncryptedData,PrivateKey)
      Decode=Decode&Chr(lBytAscii)
    Next
  EndFunction
  
  PrivateFunctionNumberToHex(ByRefpLngNumber,ByRefpLngLength)
    NumberToHex=Right(String(pLngLength,"0")&Hex(pLngNumber),pLngLength)
  EndFunction

  PrivateFunctionHexToNumber(ByRefpStrHex)
    HexToNumber=CLng("&h"&pStrHex)
  EndFunction

EndClass
%>

test.asp
<!--#INCLUDEFILE="RSA.asp"-->
<%
functionEncryptstr(Message)
DimLngKeyE
DimLngKeyD
DimLngKeyN
DimStrMessage
DimObjRSA


  LngKeyE="32823"
  LngKeyD="20643"
  LngKeyN="29893"
  StrMessage=Message
  
  SetObjRSA=NewclsRSA
  
 
      ObjRSA.PublicKey=LngKeyE
      ObjRSA.Modulus=LngKeyN
      Encryptstr=ObjRSA.Encode(StrMessage)
  SetObjRSA=Nothing
endfunction

functiondecryptstr(Message)
DimLngKeyE
DimLngKeyD
DimLngKeyN
DimStrMessage
DimObjRSA


  LngKeyE="32823"
  LngKeyD="20643"
  LngKeyN="29893"
  StrMessage=Message
  
  SetObjRSA=NewclsRSA

      ObjRSA.PrivateKey=LngKeyD
      ObjRSA.Modulus=LngKeyN
      decryptstr=ObjRSA.Decode(StrMessage)
  SetObjRSA=Nothing
endfunction



dimlast,first
first="sohu"
Response.Write"加密前为:"&first
last=Encryptstr(first)
Response.Write"加密后为"&last
Response.Write"解密后为"&decryptstr(last)

%>


</p>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。

再现理想 发表于 2015-1-20 10:54:27

那么,ASP.Net有哪些改进呢?

小妖女 发表于 2015-1-20 10:54:27

下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。

飘飘悠悠 发表于 2015-1-24 19:04:52

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

因胸联盟 发表于 2015-1-27 09:08:38

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

冷月葬花魂 发表于 2015-2-3 12:15:13

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

不帅 发表于 2015-2-8 21:52:19

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

山那边是海 发表于 2015-2-26 11:30:04

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

蒙在股里 发表于 2015-3-8 14:20:00

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

小女巫 发表于 2015-3-16 00:55:07

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

小魔女 发表于 2015-3-22 18:12:33

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

海妖 发表于 2015-3-22 18:12:33

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
页: [1]
查看完整版本: ASP网页编程之一段在asp中加密与解密对应的函数