很多it朋友問小編ASP如何生成偽參數?這里就給大家介紹一個ASP生成偽參數的方法,方法很簡單,希望對大家在以后的編寫ASP程序中有所幫助!
'//生成指定位數的隨機數字
'//也可以用Guidy寫的iXuEr_Rnd_Str函數,自帶15種樣式,可以偽MD5啦!!
FunctionrndStr(strLong)
DimtempStr
Randomize
DoWhileLen(rndStr)
tempStr=CStr(Chr((57-48)*rnd+48))
rndStr=rndStr&tempStr
Loop
rndStr=rndStr
EndFunction
%>
下面以Form表單中提交的參數為例子針對Request.Form
需要傳遞的參數doAction原來的值是從數據庫讀取的ID
">
注意:
上面的doAction的值有了改變,每刷新一次頁面得到的值都不一樣~~
下面是ABC.asp頁面
首先取得doAction的值
doAction=Trim(Request.Form("doAction"))
下面大家可以自己加一點驗證,如IsNumeric等!
然后我們來分解doAction的值
DimLastID
doAction=Mid(doAction,11)
LastID=Mid(doAction,1,Len(doAction)-10)
如果大家對Mid函數熟悉的話,上面的內容很容易就猜到,簡單吧?
下面是實際的例子:
原doAction要傳遞的ID在數據庫里(字段類型為自動編號)的值為:34
說明:
Mid(doAction,11)里的11為你所生成隨機字符位數+1
LastID=Mid(doAction,1,Len(doAction)-10)里的10為所指定生成的隨機字符位數!
DimLastID
doAction=3614354944348151287527—經過偽裝后的ID值(完全可以當數字來驗證)
doAction=Mid(doAction,11)
LastID=Mid(doAction,1,Len(doAction)-10)
LastID=34
我實驗了一下,如果配合隨機生成的字母和數字一起運用的話,那完全是可以偽成MD5類似的值!
只是條件就一個,要可以指定隨機字符的位數!
哈哈,現在大家Response.Write輸出LastID的值看看,是不是又是數據庫里的ID啦?
這個方法可以運用到影片參數的加密,下載等.如做了政府的公文流轉系統,還可以用到文件上面去!
針對Request.QueryString的也是同一個道理!照葫蘆畫瓢啦...
以上是本人在編寫ASP程序中的一點點經驗,ASP生成偽參數的方法,不足之處請大家多多指正!
新聞熱點
疑難解答