仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1373|回复: 18
打印 上一主题 下一主题

[学习教程] ASP网站制作之之前搜集的一些材料---利用ASP加密算法...

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:38:57 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。加密|数据|算法            之前搜集的一些材料---利用ASP加密算法加密你的数据(二)
Julain Sitkewich
在第一局部,会商了若何生成密钥,上面将引见若何利用这个密钥来加密息争密一个
字符串。
上面的代码就是可以同时完成这个功效的函数
Crypt.asp文件
<%
Dim g_Key

Const g_CryptThis = "Now is the time for all good men to come to the aid of their country."
Const g_KeyLocation = "c:\key.txt"

g_Key = mid(ReadKeyFromFile(g_KeyLocation),1,Len(g_CryptThis))

Response.Write "<p>ORIGINAL STRING: " & g_CryptThis & "<p>"
Response.Write "<p>KEY VALUE: " & g_Key  & "<p>"
Response.Write "<p>ENCRYPTED CYPHERTEXT: " & EnCrypt(g_CryptThis) & "<p>"
Response.Write "<p>DECRYPTED CYPHERTEXT: " & DeCrypt(EnCrypt(g_CryptThis)) & "<p>"

Function EnCrypt(strCryptThis)
   Dim strChar, iKeyChar, iStringChar, i
   for i = 1 to Len(strCryptThis)
      iKeyChar = Asc(mid(g_Key,i,1))
      iStringChar = Asc(mid(strCryptThis,i,1))
      ' *** uncomment below to encrypt with addition,
      ' iCryptChar = iStringChar + iKeyChar
      iCryptChar = iKeyChar Xor iStringChar
      strEncrypted =  strEncrypted & Chr(iCryptChar)
   next
   EnCrypt = strEncrypted
End Function

Function DeCrypt(strEncrypted)
Dim strChar, iKeyChar, iStringChar, i
   for i = 1 to Len(strEncrypted)
      iKeyChar = (Asc(mid(g_Key,i,1)))
      iStringChar = Asc(mid(strEncrypted,i,1))
      ' *** uncomment below to decrypt with subtraction   
      ' iDeCryptChar = iStringChar - iKeyChar
      iDeCryptChar = iKeyChar Xor iStringChar
      strDecrypted =  strDecrypted & Chr(iDeCryptChar)
   next
   DeCrypt = strDecrypted
End Function

Function ReadKeyFromFile(strFileName)
   Dim keyFile, fso, f
   set fso = Server.CreateObject("Scripting.FileSystemObject")
   set f = fso.GetFile(strFileName)
   set ts = f.OpenAsTextStream(1, -2)

   Do While not ts.AtEndOfStream
     keyFile = keyFile & ts.ReadLine
   Loop

   ReadKeyFromFile =  keyFile
End Function

%>  
    在Crypt.asp中咱们起首从密钥文件中失掉密钥值,然后从这段密钥中
截取和咱们需求加密的明文一样长度的密钥。然后利用一个复杂的异或操作
将明文和密钥停止运算,那末失掉的了局就是加密后的密文了。进程很复杂的。
    因为是利用了异或操作,所以解密将十分复杂,只需利用一样的密钥对密文
再次停止异或操作就可以够解密了。
    在下面引见的基本上,你可以少加修改,就能够利用一样的办法加密一个文件。
独一需求注重的是,关于一个二进制文件,你需求做一些完全性反省以包管转换回来
的字符不要越界。
    如今你需求做的就是把密钥保留在办事器上的一个平安的中央(不克不及够被内部会见)
附注:
    Vernam暗码是由Gilbert Vernam (他是AT&T的工程师)在1918年创造的。
这是一种利用异或办法停止加密解密的办法。
</p>  问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时.
分手快乐 该用户已被删除
沙发
 楼主| 发表于 2015-4-7 13:05:40 | 显示全部楼层
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-21 06:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表