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

ASP
ASP页面随机添加字符实现防复制的代码
ASP中应用事务处理技巧
asp下比较全面的获取IP地址的代码
ASP实现缓存类无错版
asp下实现批量插入数据的方法
asp下用ADODB.Stream代替FSO读取文本文件
asp之基于adodb.stream的文件操作类
自己写的文件操作的function和Sub vb.net dll
kesion科讯V4.0管理员Key工具
asp 获取access系统表,查询等操作代码
asp之字符串函数示例
asp之日期和时间函数示例
ASP 关于动态数据显示页面得锚点
Asp无组件上传进度条解决方案
ASP控制每页打印行数
用ASP实现分级权限控制
ASP在服务器自动解压RAR文件
用ASP实现远程将文件批量改名的代码
在Asp程序中取得表单所有内容的代码
使用ASP实现网站的“目录树”管理的代码

ASP 中的 加密處理使密碼更安全[CFS編碼加密]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 59 ::
收藏到网摘: 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

%>