使用ASP加密算法加密你的数据(二)
字符串。
下面的代码就是能够同时实现这个功能的函数
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年发明的。
这是一种使用异或方法进行加密解密的方法。
()
下一篇:使用ASP加密算法加密你的数据(一) >>
相关文章:
- · 如何使用ASP在自己的网站建立投票机制(一)
- · 优化MICROSOFT ACCESS提高速度
- · 网络开发之编程技巧之一(有效验证用户的登录)
- · IIS 5.0新功能
- · WINDOWS 2000搭載ASP3.0和IIS5.0
- · 如何使用 Microsoft Access 和 Active Server Pages 加密你的页面
- · IIS5 + ADO 2.5新先睹为快技术(二)
- · IIS5 + ADO 2.5新先睹为快技术(一)
- · ASP 3.0 新特色先睹为快(二)
- · ASP 3.0 新特色先睹为快(一)
- · 如何用ASP编写网站统计系统四
- · 如何用ASP编写网站统计系统三
- · 如何用ASP编写网站统计系统二
- · 如何用ASP编写网站统计系统一
- · 构建你的网站新闻自动发布系统之四
- · 构建你的网站新闻自动发布系统之三
- · 构建你的网站新闻自动发布系统之二
- · 构建你的网站新闻自动发布系统之一
- · ASP的Internet/Intranet编程常见问题
- · 一个简单聊天室的建立.(供学习参考)
- · 用ASP实现一个真正的注册页面
- · 在ASP中常见的错误80004005信息和解决办法
- · ADO存取数据时如何实现留言记录的分页显示
- · 用ASP实现网页BBS
- · 网页在线人数统计的做法
- · 聊天室实现私聊(四)
- · 聊天室实现私聊(三)
- · 聊天室实现私聊(二)
- · 聊天室实现私聊(一)
- · 用ASP实现网页保密的两种方法
- · 利用ASP规划聊天室
- · 用ASP建立站内搜索
- · ASP主件中的安全问题
- · 善用 SELECT INTO 功能
- · MySQL安全性指南(3
- · MySQL安全性指南
- · MySQL安全性指南 (1)
- · 怎样才能限制SQL Server只能让指定的机器连接
