온라인으로 로그인하면 입력을 요청하는 인증 코드를 자주 보게 되는데, 그 중 일부는 텍스트이고 일부는 사진입니다. 예를 들어 chinaren.com alumni 디렉터리에 메시지를 남기면 우리는 이를 확인합니다. 디지털 문자 인증코드를 구현하는 방법에 대한 정보가 많이 있는데, 여기서 소개해드릴 내용은 숫자와 문자로 무작위로 구성된 인증코드를 구현하여 사진을 생성하는 방법입니다. 복잡해 보이지만 실제로는 매우 간단합니다.
먼저 디자인 아이디어를 소개하자면, 숫자와 문자의 무작위 조합이 인증코드를 생성한 후, 여기서 "숫자와 문자의 조합"은 특수한 경우에는 무작위로 뽑아야 합니다. 디지털 인증 코드는 다음과 같이 얻을 수 있습니다.
ycodenum=4 '인증코드의 자릿수 또는 숫자
i=1에서 ycodenum까지
Randomize '난수 생성기를 초기화합니다.
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 ,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 구성 요소를 사용해야 합니다. 예, 여기서는 ASP 이미지 구성 요소 샷 그래프를 사용하고 있습니다. 모두가 주의해야 할 한 가지는 이 구성 요소를 설치할 수 없기 때문에 자신의 서버가 아닌 경우 서버를 사용할 수 없다는 것입니다.
구성 요소의 다운로드 주소: yc=split(char,",") '문자열을 배열로 생성
ycodenum=4
i=1에서 ycodenum까지
무작위화
ycode=ycode&yc(Int((35*Rnd))) '배열은 일반적으로 0부터 읽기 시작하므로 여기서는 35*Rnd입니다.
다음
응답.지우기
Response.ContentType="이미지/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.사각형 0,0,x-1,y-1
obj.SetBkMode "투명"
obj.CreateFont "Arial",136,18,1,False,False,False,False
obj.SetTextColor 1
obj.TextOut 5,4,ycode&" "
img=obj.GifImage(-1,1,"")
응답.BinaryWrite(img)
위의 코드, 즉 일반적인 샷그래프 그리기의 원리는 다음을 참조하세요: http://www.pconline.com.cn/pcedu/empolder/wz/asp/10204/45207.html