当前位置:首页 > 瞎搞 > 正文内容

使用ASP加密算法加密你的数据(二)

admin16年前 (2010-04-25)瞎搞1861

在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个字符串。
下面的代码就是能够同时实现这个功能的函数
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年发明的。
这是一种使用异或方法进行加密解密的方法。

扫描二维码推送至手机访问。

版权声明:本文由水墨优化网发布,如需转载请注明出处。

本文链接:https://www.ishnan.com/post/39.html

分享给朋友:

“使用ASP加密算法加密你的数据(二)” 的相关文章

使用ASP加密算法加密你的数据(一)

简介首先简单介绍一下有关加密的背景。由于美国禁止几种密码算法的对外出口的加密位数(例如SSL的40位加密限制),本文将介绍一种ASP可以使用的简单字符加密算法,而不是那些受限制的加密算法。其实,这里介绍的加密算法对于一般的运用来说已经足够解密人麻烦一阵子的了。它的加密基础是最简单的Vernum密码方...

MYSQL数据库备份方法

本人曾经用过的备份方式有:mysqldump、mysqlhotcopy、BACKUP TABLE 、SELECT INTOOUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使...

WPINK高级版下载

今天和大家分享WordPress付费模板WPINK高级版的下载地址,支持大家购买官方版,毕竟人家做模板也不容易http://www.wpyou.com/wpink-cms-theme.html原主题演示购买链接WPINK高级版与WPINK普通版的区别是高级版多出了主题管理界面及Google广告后台管...

Microsoft Visual C 2005 Redistributable提示错误

Microsoft Visual C 2005 Redistributable提示错误

下午做了个vol版xp,感觉很好,用惯了ghost修改版的,这次换个原版的,还不赖,追求稳定嘛但是,晚上装acdsee时出现错误Microsoft Visual C 2005 Redistributable提示错误,研究了下vcredist_install,软件环境问题,安装个vcredist_in...

5320SIM卡无效

5320SIM卡无效

2010年的最后一天我把室友的5320用JAF降级,结果版本由6降到5,杯具发生了!刷号开机后5320提示sim卡无效,和几个玩手机的网友交流后得知是网络锁,要用专门的仪器去修复,解锁。要命的是费用还不低,肠子都悔青了!拿去到校门口的手机维修店,他用了什么天目,龙圣,之类的专业仪器仍然不行。其实当时...

评论列表

滔滔
滔滔
16年前 (2010-05-14)

你这ASP学的了得啊~~~

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。