失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用ASP加密算法加密你的数据(二)

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

时间:2023-03-11 19:56:02

相关推荐

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

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

在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个

字符串。

下面的代码就是能够同时实现这个功能的函数

文件

<%

Dim g_Key

Const g_CryptThis = "Now is the time for all good men to come to the aid of theircountry."

Const g_KeyLocation = "c:&;

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

"<pORIGINAL STRING: " & g_CryptThis &"<p"

"<pKEY VALUE: " & g_Key & "<p"

"<pENCRYPTED CYPHERTEXT: " & EnCrypt(g_CryptThis)& "<p"

"<pDECRYPTED 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的工程师)在19发明的。

这是一种使用异或方法进行加密解密的方法。

如果觉得《使用ASP加密算法加密你的数据(二)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。