使用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年发明的。这是一种使用异或方法进行加密解密的方法。

时间: 2024-10-02 02:41:06

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

以前收集的一些资料---使用ASP加密算法加密你的数据(二)

加密|数据|算法          以前收集的一些资料---使用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."Co

使用ASP加密算法加密你的数据

使用ASP加密算法加密你的数据简介首先简单介绍一下有关加密的背景.由于美国禁止几种密码算法的对外出口的加密位数(例如SSL的40位加密限制),本文将介绍一种ASP可以使用的简单字符加密算法,而不是那些受限制的加密算法.其实,这里介绍的加密算法对于一般的运用来说已经足够解密人麻烦一阵子的了.它的加密基础是最简单的Vernum密码方法,我将在下一篇文章中介绍这种密码.它的基本原理是,需要有一个需要加密的明文和一个随机生成的解密钥匙文件.然后使用这两个文件组合起来生成密文.(明文) 组合 (密钥) =

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

加密|数据|算法 简介 首先简单介绍一下有关加密的背景.由于美国禁止几种密码算法的对外出口的加密位数(例如SSL的40位加密限制),本文将介绍一种ASP可以使用的简单字符加密算法,而不是那些受限制的加密算法.其实,这里介绍的加密算法对于一般的运用来说已经足够解密人麻烦一阵子的了.它的加密基础是最简单的Vernum密码方法,我将在下一篇文章中介绍这种密码. 它的基本原理是,需要有一个需要加密的 明文和一个随机生成的解密钥匙文件.然后使用这两个文件组合起来生成密文. (明文) 组合 (密钥) = 加

用ASP加密算法“保护”你的数据

加密|数据|算法     首先简单介绍一下有关加密的背景.由于美国禁止几种密码算法的对外出口的加密位数(例如SSL的40位加密限制),本文将介绍一种ASP可以使用的简单字符加密算法,而不是那些受限制的加密算法.其实,这里介绍的加密算法对于一般的运用来说已经足够解密人麻烦一阵子的了.它的加密基础是最简单的Vernum密码方法,我将在下一篇文章中介绍这种密码. 它的基本原理是,需要有一个需要加密的 明文和一个随机生成的解密钥匙文件.然后使用这两个文件组合起来生成密文. (明文) 组合 (密钥) =

用ASP.NET加密Cookie数据

Cookie确实在WEB应用方面为访问者和编程者都提供了方便,然而从安全方面考虑是有问题的,首先,Cookie数据包含在HTTP请求和响应的包头里透明地传递,也就是说聪明的人是能清清楚楚看到这些数据的.其次,Cookie数据以Cookie文件格式存储在浏览者计算机的cache目录里,其中就包含有关网页.密码和其他用户行为的信息,那么只要进入硬盘就能打开Cookie文件.图1是一个Cookie文件的内容: 如果你未曾留意你的机器里有Cookie文件,可以按下列方法查看:打开IE,选择"工具&quo

使用ASP.NET加密口令

asp.net|加密 当我们在网站上建立数据库时,保护用户的信息安全是非常必要的.多数用户不愿意让别人知道自己的信息,同时网管也不想因为安全问题而丢失网站的信誉.无论对于谁,安全问题都是非常重要的. 为了解决这个问题,我给大家提供一个简单实用,但是老套的方法,就是口令加密.在此我们使用ASP.NET技术对口令加密.简单的讲,就是将用户提供的口令加密之后,然后让它和存放于系统中的数据比较,如果相同,则通过验证. 在ASP中,并未提供加密的对象,我们只能使用外部的对象来进行加密.现在好了,在ASP.

asp MD5加密方式使用建议_应用技巧

1.修改MD5算法重的4个常数,这是最捷径的作法,其特点是加密后的数据和加密前非常类似,但是不会被破解 2.多次加密,对MD5加密过的数据进行二次或三次加密,或者在每次加密后从重抽取部分值进行在加密,比如"我爱你",加密后"1E6986ACEC7BAE541AB7B37B99260DAF",我们可以取任意一部分进行再加密,比如取前18位"1E6986ACEC7BAE541"进行再加密得到"E3E0A1F51038849583263FE1

关于java解密的问题,C#DES加密过的数据,用java解密

问题描述 关于java解密的问题,C#DES加密过的数据,用java解密 C#加密解密代码如下 public static String sKey = "xxxxxx"; /// <summary> /// 加密 /// </summary> /// <param name="Text"></param> /// <returns></returns> public static String

ASP.NET连接数据库并获取数据方法总结_实用技巧

本文实例讲述了ASP.NET连接数据库并获取数据方法.分享给大家供大家参考,具体如下: *连接对象的用法SqlConnection,SqlCommand,SqlDataAdapter *数据访问方式的写法 1.获取数据: //引用这两个命名空间 using System.Data.SqlClient; using System.Data; // 初始化连接对象 SqlConnection conn = new SqlConnection(); conn.ConnectionString = "U