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

原创 2004年03月01日 10:11:00
在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个字符串。
  下面的代码就是能够同时实现这个功能的函数
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加密算法加密你的数据(一)简介首先简单介绍一下有关加密的背景。由于美国禁止几种密码算法的对外出口的加密位数(例如SSL的40位加密限制),本文将介绍一种ASP可以使用的简单字符加密算法,而不...
  • baikaishui_0825
  • baikaishui_0825
  • 2005年01月04日 11:10
  • 961

SHA256 加密的ASP实现

这个是ASP中SHA-256加密的实现方法。我在找ASP中SHA-512加密的实现方法,要是谁有源码的话,麻烦发一份给小弟,先谢啦!yesoce@163.comPrivate m_lOnBits(30...
  • yesoce
  • yesoce
  • 2004年10月08日 21:15
  • 737

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

简介   首先简单介绍一下有关加密的背景。由于美国禁止几种密码算法的对外出口的加密位数(例如SSL的40位加密限制),本文将介绍一种ASP可以使用的简单字符加密算法,而不是那些受限制的加密算法。其...
  • huanghai2000
  • huanghai2000
  • 2004年03月01日 10:11
  • 658

银行卡磁道加密-1

域352磁道数据(Track 2 Data) 变量属性 B..24(LLVAR),1个字节的BCD格式长度值+用TRK加密的含第二磁道长度的第二磁道数据。 域描述 用户磁条卡上的第二磁道数据。...
  • u010015108
  • u010015108
  • 2017年04月22日 11:09
  • 665

HTTPS中的加密算法相关概念

密码学在计算机科学中使用非常广泛,HTTPS就是建立在密码学基础之上的一种安全的通信协议。HTTPS早在1994年由网景公司首次提出,而如今在众多互联网厂商的推广之下HTTPS已经被广泛使用在各种大小...
  • Quiet_boy
  • Quiet_boy
  • 2016年12月26日 13:26
  • 892

谈谈异或加密

本文包括如下几个内容:异或算法;异或加密;两个整数交换问题
  • u013344915
  • u013344915
  • 2014年08月08日 20:57
  • 1475

常见加密算法分类,用途,原理以及比较

常见加密算法分,用途,原理以及比较   密码学简介 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方...
  • qq_21794823
  • qq_21794823
  • 2016年11月10日 13:23
  • 3486

银行加密算法之——数据打解包

在银行业务中,我们要对数据进行加密处理,这点事显而易见的,但无论是我们进行软件加密还是硬件加密,都需要对待加密的数据之前需要对数据进行打包处理。在解密数据后,无论是硬件加密还是软件加密都还需要进行相应...
  • JiXuXiangQianZou
  • JiXuXiangQianZou
  • 2013年06月13日 14:52
  • 1217

用实例讲解RSA加密算法

用实例讲解RSA加密算法        RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Rivest, Adi Shamir, LeonardAd...
  • u014066037
  • u014066037
  • 2016年05月04日 14:45
  • 5142

加密算法逆向

最近勒索软件盛行,果断有逆向加密算法的需求啊,可是小白一个真心逆向起来十分的费力。   下面记录几个逆向算法的关键点和关键步骤。 1)        定位加密算法的位置 加密算法有几个关键点:...
  • mohan90118
  • mohan90118
  • 2016年05月02日 13:50
  • 584
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用ASP加密算法加密你的数据(二)
举报原因:
原因补充:

(最多只允许输入30个字)