选择显示字体大小

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

    
  简介
    首先简单介绍一下有关加密的背景。由于美国禁止几种密码算法的对外出口的加密位数(例如ssl的40位加密限制),本文将介绍一种asp可以使用的简单字符加密算法,而不是那些受限制的加密算法。其实,这里介绍的加密算法对于一般的运用来说已经足够解密人麻烦一阵子的了。它的加密基础是最简单的vernum密码方法,我将在下一篇文章中介绍这种密码。
    它的基本原理是,需要有一个需要加密的明文和一个随机生成的解密钥匙文件。然后使用这两个文件组合起来生成密文。
  (明文) 组合 (密钥) = 加密后的密文
    所以本文介绍的是生成密钥的代码。我们假设我们生成的密钥为512位长的密钥,它已经足够来加密一个文本字符了。代码如下:
  keygen.asp文件
  <%
  '******************************
  ' keygen.asp
  '******************************
  const g_keylocation = "c:\key.txt"
  const g_keylen = 512
  
  on error resume next
  
  call writekeytofile(keygen(g_keylen),g_keylocation)
  
  if err <> 0 then
  response.write "error generating key." & "<p>"
  response.write err.number & "<br>"
  response.write err.description & "<br>"
  else
  response.write "key successfully generated."
  end if
  
  sub writekeytofile(mykeystring,strfilename)
  dim keyfile, fso
  set fso = server.createobject("scripting.filesystemobject")
  set keyfile = fso.createtextfile(strfilename, true)
  keyfile.writeline(mykeystring)
  keyfile.close
  end sub
  
  function keygen(ikeylength)
  dim k, icount, strmykey
  lowerbound = 35
  upperbound = 96
  randomize ' initialize random-number generator.
  for i = 1 to ikeylength
  s = 255
  k = int(((upperbound - lowerbound) + 1) * rnd + lowerbound)
  strmykey = strmykey & chr(k) & ""
  next
  keygen = strmykey
  end function
  
  %>
    在iis下运行上面的keygen.asp页面。你只需要如此做一次,他将把密钥写入文件c:\key.txt中 (如果你愿意的话,你也可以把这个文件放到另外一个更加安全的地方).然后你可以打开这个key.txt文件,它将包含512个ascii码在35到96之间的字符.并且由于是随机生成的,所以每个人的私人密钥文件key.txt将是不一样的,下面是一个例子密钥文件:
  
  iy/;$>=3)?^-+7m32#q]voii.q=ofmc`:p7_b;<r/8u)xfhc<sr_e$.dlg'=i+@5%*+op:f_=';'nsy`-^s.`aa=bj3m0.wf#t5lgk(=/<:+c2k/^7ai$;pu'ome2+t8nd?w$c(j\,;631'm-ld5f%%1tf_&k2a-d-54[2p,#'*ju%6`0rf3cmf0(#t07u'fz=>#,+.aw_/+']dib;2dtia57tt&-)o'/*f'm>h.xh5w^0y*=71+5*^`^pkj(=e/x#7a:?,s>r&t;+b#<:-*\@)x9f`_`%qa3z95.?_t#1,$2#fww5pbh^*<])a(s0@avd8c^q0r^t1d?(1+,ye71x+.*+u$:3xo^q].kg&0n0];[lj<oz6in?7n4<gtl?(m'4s8+3jmk5]hc%^1^+k;\$wbxpa?f&5^e\d$7%*o/u[1/?8(5:1ovwv*1z-%`:k&v?x1,1kurd@3w0^d)<og40?(vj4ewl5a5m<$a);cq36r9i]*u#q%1<y\&sa%#1<v
  
    下面再仔细分析一下上面的程序,我们发现其中的lowerbound和upperbound的数值其实就是你想使用来加密的ascii字符范围。后面一篇文章中将介绍如何使用这个密钥来加密和解密一个字符串
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons