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

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


         以上问题你是否知道如何解决?本文要告诉你,如何将你的密码做加密处理,处理过后的密码字符串,就算是公开出来也没人猜得到原来的密码!首先我们来看看一组字符串:
    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: *
    ''* thiefghost@games.com.tw *
    ''* *
    ''* 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
    %> 


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多