|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。加密|数据|算法在第一部分,会商了怎样天生密钥,上面将先容怎样利用这个密钥来加密息争密一个字符串。
上面的代码就是可以同时完成这个功效的函数
Crypt.asp文件
<%
Dimg_Key
Constg_CryptThis="Nowisthetimefor
allgoodmentocometotheaidoftheircountry."
Constg_KeyLocation="c:key.txt"
g_Key=mid(ReadKeyFromFile(g_KeyLocation),1,Len(g_CryptThis))
Response.Write"<p>ORIGINALSTRING:"&g_CryptThis&"<p>"
Response.Write"<p>KEYVALUE:"&g_Key&"<p>"
Response.Write"<p>ENCRYPTEDCYPHERTEXT:"&EnCrypt(g_CryptThis)&"<p>"
Response.Write"<p>DECRYPTEDCYPHERTEXT:"&DeCrypt(EnCrypt(g_CryptThis))&"<p>"
FunctionEnCrypt(strCryptThis)
DimstrChar,iKeyChar,iStringChar,I
forI=1toLen(strCryptThis)
iKeyChar=Asc(mid(g_Key,I,1))
iStringChar=Asc(mid(strCryptThis,I,1))
***uncommentbelowtoencryptwithaddition,
iCryptChar=iStringChar+iKeyChar
iCryptChar=iKeyCharXoriStringChar
strEncrypted=strEncrypted&Chr(iCryptChar)
next
EnCrypt=strEncrypted
EndFunction
FunctionDeCrypt(strEncrypted)
DimstrChar,iKeyChar,iStringChar,I
forI=1toLen(strEncrypted)
iKeyChar=(Asc(mid(g_Key,I,1)))
iStringChar=Asc(mid(strEncrypted,I,1))
***uncommentbelowtodecryptwithsubtraction
iDeCryptChar=iStringChar-iKeyChar
iDeCryptChar=iKeyCharXoriStringChar
strDecrypted=strDecrypted&Chr(iDeCryptChar)
next
DeCrypt=strDecrypted
EndFunction
FunctionReadKeyFromFile(strFileName)
DimkeyFile,fso,f
setfso=Server.CreateObject("Scripting.FileSystemObject")
setf=fso.GetFile(strFileName)
setts=f.OpenAsTextStream(1,-2)
DoWhilenotts.AtEndOfStream
keyFile=keyFile&ts.ReadLine
Loop
ReadKeyFromFile=keyFile
EndFunction
%>
在Crypt.asp中我们起首从密钥文件中失掉密钥值,然后从这段密钥中截取和我们必要加密的明文一样长度的密钥。然后利用一个复杂的异或操纵将明文和密钥举行运算,那末失掉的了局就是加密后的密文了。历程很复杂的。因为是利用了异或操纵,以是解密将十分复杂,只需利用一样的密钥对密文再次举行异或操纵就可以够解密了。在下面先容的基本上,你能够少加修改,就能够利用一样的办法加密一个文件。独一必要注重的是,关于一个二进制文件,你必要做一些完全性反省以包管转换返来
的字符不要越界。如今你必要做的就是把密钥保留在服务器上的一个平安的中央(不克不及够被内部会见)
附注:
Vernam暗码是由GilbertVernam(他是AT&T的工程师)在1918年创造的。这是一种利用异或办法举行加密解密的办法。
</p>缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 |
|