>>您所在的位置:騰飛電腦學校>>騰飛教程 > ASP教程
 
數字和字母組合并生成圖片的驗證碼祥解

 文章來源:騰飛電腦學校       發布時間:2008-08-08    閱讀次數:3365
大家經常在網上登陸的時候經常會看到讓你輸入驗證碼,有的是文字的,有的呢是圖片,比如chinaren.com校友錄中留言的時候,我們就會看到數字圖片驗證碼;網上關于數字文字驗證碼實現方法的相關資料很多,而我們這里介紹的是數字和字母隨機組成的并且生成圖片的驗證碼的實現方法。看起來很復雜、其實很簡單的,大家跟著我往下看:

  首先,我們先介紹一下設計思路,數字和字母的隨機組合生成驗證碼,然后將驗證碼生成圖片,這里“數字和字母的組合”應該是隨機取出來的;如果是專門的數字驗證碼,我們可以這樣實現:

  ycodenum=4 '驗證碼的位數,或者說成個數
  for i=1 to ycodenum
    Randomize '初始化隨機數發生器
    ycode=ycode&Int((9*Rnd)) 'rnd是隨機數,從0到1之間的任意實數,這里獲得0到9之間的整數
  next

  response.write ycode '就可以輸出數字驗證碼(4位)

  然而,我們要讓數字和字母同樣隨機生成,這里我們可以用到數組來實現這種效果,如下:

  ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z" '將數字和大寫字母組成一個字符串
  yc=split(char,",") '將字符串生成數組
  ycodenum=4
  for i=1 to ycodenum
    Randomize
    ycode=ycode&yc(Int((35*Rnd))) '數組一般從0開始讀取,所以這里為35*Rnd
  next

  response.write ycode
  
  現在看看輸出結果是不是數字和字母隨機組合的呢?

  下面看看怎樣生成圖片,這個也許有些朋友知道:asp不能生成圖片,必須使用asp組件。不錯,我們這里使用的是ASP圖象組件shotgraph。有一點大家注意,服務器不是自己的不能用哦,因為你裝不了這組件。

  組件的下載地址:http://www.knowsky.com/download/ShotGraph.rar,至于怎么注冊,這里就不多說了,網上有很多資料

  我們看看生成圖片的代碼:

  ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z" '將數字和大寫字母組成一個字符串
  yc=split(char,",") '將字符串生成數組
  ycodenum=4
  for i=1 to ycodenum
    Randomize
    ycode=ycode&yc(Int((35*Rnd))) '數組一般從0開始讀取,所以這里為35*Rnd
  next

  Response.Clear
  Response.ContentType="image/gif"
  set obj=Server.CreateObject("shotgraph.image")
  x=55 '圖片的寬
  y=26 '圖片的高
  obj.CreateImage x,y,8 '8是圖片的顏色8位
  obj.SetColor 0,55,126,222
  obj.SetColor 1,255,255,255

  obj.CreatePen "PS_SOLID",1,0
  obj.SetBgColor 0
  obj.Rectangle 0,0,x-1,y-1
  obj.SetBkMode "TRANSPARENT"
  obj.CreateFont "Arial",136,18,1,False,False,False,False
  obj.SetTextColor 1
  obj.TextOut 5,4,ycode&" "

  img=obj.GifImage(-1,1,"")
  Response.BinaryWrite (img)

  針對以上代碼也就是說shotgraph普通的畫圖的原理請參考:http://www.pconline.com.cn/pcedu/empolder/wz/asp/10204/45207.html

 

 
   
   

管理入口 | 下載中心 | 招聘英才 | 聯系我們 | 學校地圖 | 網上留言

南充騰飛電腦培訓學校 版權所有(C) 電話:0817-3369775
學校地址:四川省南充市模范街54號(鐘表老字號眼鏡行2樓)
聯系人:王小平 電子郵件:[email protected] QQ:306389845
本站網絡實名:南充電腦學校 南充電腦培訓學校 南充計算機培訓學校 
 
网络赚钱方法大全