'此代碼是在別人基礎上增加的漢字功能,特此感謝,同時感謝鬼火狼煙。
'以前的圖片驗證碼很容易被破解,所以在其基礎上進行改進,生成漢字,就目前而言很難破解
用法:
在需要顯示驗證碼圖片的地方插入代碼<imgsrc="code.asp">
同時,自動生成session("psn"),表單提交驗證session就可以了。
複製代碼代碼如下:
<%
'------------------
'漢字圖片驗證碼
'此代碼是在別人基礎上增加的漢字功能,特此感謝,同時感謝鬼火狼煙。
'以前的圖片驗證碼很容易被破解,所以在其基礎上進行改進,生成漢字,就目前而言很難破解
'干擾次數每加一->窮舉法的代價提高約100*100倍
'適當設定雜點機率可以有效降低軟件識別正確率
'------------------
OptionExplicit
CallCom_CreatValidCode("SessionName")
Rem生成驗證碼圖片
SubCom_CreatValidCode(pSN)
ConstcodeLen=4'驗證碼位數
ConstcOdds=4'雜點出現的機率
ConstdbtTimes=1'干擾次數(安全考慮,最好不要小於2)
ConstcAmount=85'字庫數量
ConstcCode="好一路陽光子無開月了的比小山古天中石頭井火大西木開人也葉九七六五合文只個魚羊哈麼點四生件格不步佈各你田紅藍來很春下畫京左百白東關工共足方尺才夢見查著去區曲尋早可上豐愛呵劉"'字庫對應的字符
ConstUnitWidth=28'字寬(要為4的倍數)
ConstUnitHeight=28'字高
ConstDotsLimit=2'每次刪除有效點的上限(避免無法人為識別)
ConsttryCount=2'避免刪除有效點超過上限的嘗試次數限制
'-----------
Randomize
Dimi,ii,iii
'禁止緩存
Response.Expires=-9999
Response.AddHeader"Pragma","no-cache"
Response.AddHeader"cache-ctrol","no-cache"
Response.ContentType="Image/BMP"
'顏色的數據(字符,背景)
DimvColorData(1)
vColorData(0)=ChrB(0)&ChrB(0)&ChrB(0)'藍0,綠0,紅0(黑色)
vColorData(1)=ChrB(211)&ChrB(255)&ChrB(250)'藍250,綠236,紅211(淺藍色)
'字符的數據(可以自己修改,如果修改了尺寸,記得把前面的設定也改了)
DimvNumberData(85)
vNumberData(0)=""