เมื่อคุณเข้าสู่ระบบออนไลน์ คุณมักจะเห็นรหัสยืนยันที่ขอให้คุณป้อน ซึ่งบางส่วนเป็นข้อความ และบางส่วนเป็นรูปภาพ ตัวอย่างเช่น เมื่อคุณฝากข้อความไว้ในไดเร็กทอรีศิษย์เก่า chinaren.com เราก็จะทำเช่นนั้น ดูรหัสยืนยันรูปภาพดิจิทัล เกี่ยวกับออนไลน์ มีข้อมูลมากมายเกี่ยวกับวิธีการใช้รหัสยืนยันข้อความดิจิทัล และสิ่งที่เราแนะนำที่นี่คือวิธีการใช้รหัสยืนยันที่ประกอบด้วยตัวเลขและตัวอักษรแบบสุ่มและสร้างรูปภาพ ดูเหมือนซับซ้อน แต่จริงๆ แล้วง่ายมาก ติดตามฉันและอ่านต่อ:
ก่อนอื่น เรามาแนะนำแนวคิดการออกแบบกันก่อน การสุ่มตัวเลขและตัวอักษรจะสร้างรหัสยืนยัน จากนั้นจึงสร้างรูปภาพของรหัสยืนยัน หากเป็นรหัสพิเศษ รหัสยืนยันดิจิทัลเราสามารถทำได้ดังนี้:
ycodenum=4 'จำนวนหลักในรหัสยืนยันหรือตัวเลข
สำหรับ i=1 ถึง ycodenum
สุ่ม 'เริ่มต้นตัวสร้างตัวเลขสุ่ม
ycode=ycode&Int((9*Rnd)) 'rnd เป็นตัวเลขสุ่ม จำนวนจริงใดๆ ระหว่าง 0 ถึง 1 ที่นี่คุณจะได้จำนวนเต็มระหว่าง 0 ถึง 9
ต่อไป
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,N, ,O,P,Q,R,S,T,U,V,W,X,Y,Z" 'รวมตัวเลขและตัวอักษรตัวพิมพ์ใหญ่ลงในสตริง
yc=split(char,",") 'สร้างสตริงลงในอาร์เรย์
ycodenum=4
สำหรับ i=1 ถึง ycodenum
สุ่ม
ycode=ycode&yc(Int((35*Rnd))) 'โดยทั่วไปอาร์เรย์จะเริ่มอ่านจาก 0 ดังนั้นนี่คือ 35*Rnd
ต่อไป
ตอบกลับเขียน ycode
ตอนนี้เรามาดูกันว่าผลลัพธ์เป็นการสุ่มตัวเลขและตัวอักษรผสมกันหรือไม่?
มาดูวิธีการสร้างรูปภาพกัน เพื่อนบางคนอาจรู้สิ่งนี้: ASP ไม่สามารถสร้างรูปภาพได้ และต้องใช้ส่วนประกอบ ASP ใช่ เรากำลังใช้ shotgraph ส่วนประกอบภาพ ASP ที่นี่ สิ่งหนึ่งที่ทุกคนควรใส่ใจคือคุณไม่สามารถใช้เซิร์ฟเวอร์ได้หากไม่ใช่เซิร์ฟเวอร์ของคุณเอง เนื่องจากคุณไม่สามารถติดตั้งส่วนประกอบนี้ได้
ดาวน์โหลดที่อยู่ของส่วนประกอบ: yc=split(char,",") 'สร้างสตริงลงในอาร์เรย์
ycodenum=4
สำหรับ i=1 ถึง ycodenum
สุ่ม
ycode=ycode&yc(Int((35*Rnd))) 'โดยทั่วไปอาร์เรย์จะเริ่มอ่านจาก 0 ดังนั้นนี่คือ 35*Rnd
ต่อไป
การตอบสนองชัดเจน
Response.ContentType="รูปภาพ/gif"
ตั้ง 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.สี่เหลี่ยมผืนผ้า 0,0,x-1,y-1
obj.SetBkMode "โปร่งใส"
obj.CreateFont "Arial",136,18,1,เท็จ,เท็จ,เท็จ,เท็จ
obj.SetTextColor 1
obj.TextOut 5,4,ycode&" "
img=obj.GifImage(-1,1,"")
การตอบสนอง BinaryWrite (img)
สำหรับโค้ดข้างต้น กล่าวคือ หลักการวาดภาพ shotgraph ธรรมดา โปรดดูที่: http://www.pconline.com.cn/pcedu/empolder/wz/asp/10204/45207.html