当前位置: 首页 > 图文教程 > 网络编程 > ASP > 加密处理使密码更安全[CFS编码加密]

ASP
关于网站文件自动备份程序的一点思考
DBTree 1.3.2
抽取10万条数据,想起GetRows()
一份ASP内存的释放的实验报告
[整理版]ASP常用内置函数
Jmail组件发送邮件之绝对能用的函数
虚拟主机重启代码
Access 开发人员常犯错误大全
用Asp如何实现防止网页频繁刷新?
ASP 中使用 HTTP 协议发送参数详解
为什么 Windows2003 的 IIS6.0 不能上传超过 200K 的文件?
ASP类的写法
实例学习如何在ASP中调用DLL
被动式统计网站在线人数
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
Wrance的图片系统目录直读版1.0
信息发布中的判断过期和有效期的东西
小偷程序2
一个ASP中的数组

ASP 中的 加密处理使密码更安全[CFS编码加密]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 210 ::
收藏到网摘: n/a

      你是怎么把密码储存到数据库里?是以纯文字的方式?你可知道这对安全的危险性?当攻击你网站的人能开启数据库浏览,以纯文字方式存在数据库里的密码一览无疑,基于安全上的考量,你想这样适当吗?有什么办法能够让别人看到数据库里的数据,也没办法知道储存在其中的密码? 


     以上问题你是否知道如何解决?本文要告诉你,如何将你的密码做加密处理,处理过后的密码字符串,就算是公开出来也没人猜得到原来的密码!首先我们来看看一组字符串:
27B827277C70E88DD87E3057BFBE8F


    这是将密码加密后的结果,你知道加密之前的字符串是什么吗?其实是『 test 』。不可思议吧!经过处理后的字符串,和原本的字符串全然不同,我不说你猜的到吗?如果决定密码的人不说,这密码永远都是个秘密!


    毕竟这是以原本字符串为起点开始编码,你可能会怕有人用反向工程将字符串变回原本的密码,这点你就不用担心了,这编码方式是『单向』的,无法用反向工程恢复!只要将密码加密后再存入数据库,你的密码就多了一份保障!比对密码时,就将使用者输入的密码加密后再跟数据库比对。讲了许多,现在开始告诉你如何写这段程序。


    我们用的加密方法『CFS编码加密函式库』,请于《ASP技术广场网站→档案下载→相关组件→函式库》下载其函式包含档。此为『ASP技术广场』所创造的加密法,不同于市面上其它的加密编码方法!下载回来的档案为ZIP档,请解压缩到跟你的ASP同一目录。
<!--#include file="Codefun.fun" -->
这是用来将函式包含档加入到你的ASP,请于ASP开头加上,接着就可使用其编码函式。
编码函式 CfsEncode() 的使用:
Var = CfsEncode(字符串来源)
范例:
<%Dim SourceDim Var1Source = "test"Var1 = CfsEncode(Source)Response.Write Var1%>

执行结果:
27B827277C70E88DD87E3057BFBE8F
<%
''********************************************************************************
''* *
''* CFS Encode Function *
''* *
''* Produced by ASP-Zone *
''* *
''* Main website is located at *
''* http://asp.diy.com.tw/ *
''* *
''* E-MAIL: *
''* [email protected] *
''* *
''* Use this function: *
''* <!--#include file="Codefun.fun" --> *
''* *
''* 2001/8/3 *
''* *
''********************************************************************************
''Encode Function
Function CfsEnCode(CodeStr)
Dim CodeLen
Dim CodeSpace
Dim NewCode
CodeLen = 30
CodeSpace = CodeLen - Len(CodeStr)
If Not CodeSpace < 1 Then
For cecr = 1 To CodeSpace
CodeStr = CodeStr & Chr(21)
Next
End If
NewCode = 1
Dim Been
For cecb = 1 To CodeLen
Been = CodeLen + Asc(Mid(CodeStr,cecb,1)) * cecb
NewCode = NewCode * Been
Next
CodeStr = NewCode
NewCode = Empty
For cec = 1 To Len(CodeStr)
NewCode = NewCode & CfsCode(Mid(CodeStr,cec,3))
Next
For cec = 20 To Len(NewCode) - 18 Step 2
CfsEnCode = CfsEnCode & Mid(NewCode,cec,1)
Next
End Function

Function CfsCode(Word)
For cc = 1 To Len(Word)
CfsCode = CfsCode & Asc(Mid(Word,cc,1))
Next
CfsCode = Hex(CfsCode)
End Function
%>